更新:还询问了PgAdmin支持邮件列表here。
所以我启动并运行了一个AWS Redshift群集,我可以通过命令行连接到它
$ psql -h host -d database -p port -U username
我想通过pgAdmin III连接到集群,但在连接到集群后,我收到一条错误消息:
错误:必须是超级用户才能查看default_tablespace
请注意,我输入的字段是:名称,主机,端口,维护数据库,用户名和密码,所有输入都与psql命令相同。
现在,如果我通过psql连接,我检查:
$ \tu
该用户[由AWS授予的主用户]实际上是超级用户。那么有什么建议可能是导致此错误的原因吗?
作为一个后续问题,当我连接到其他远程dbs时,即使我不是超级用户,我也不会收到此错误,所以这里发生了什么?当通过pgAdmin连接时,Redshift会导致此错误发生吗?
PGAdmin 1.6.3 (from March 2007!)对我(在OS X上)使用Redshift工作正常。
考虑到Redshift是从Postgres 8.0分叉出来的,我猜这是有道理的。
注意:'精细'我的意思是我想从GUI工作的东西OK。仍然有一些怪癖和错误信息被驳回。
试试SQLWorkbench。我没有尝试过pgadmin,但是SqlWorkbench和Postgresql jdbc连接器对我来说非常有用。
如果您只需要GUI方式来编辑复杂的SQL,并且每次进行更改时都不想复制粘贴,则可以使用编辑快捷方式
pguser=> \e
这将打开您选择的编辑器(保存在您的机器上为$EDITOR
)
要仅为会话保持覆盖它(如果您的默认值是vim
但想使用gedit
)运行:
$ EDITOR=gedit psql -h host -d database -p port -U username
使用\e
编辑SQL然后保存并退出。它会运行你的代码。然后再次打开\e
,它将使用之前的查询填充您的编辑器。
请享用!