23

更新:PgAdmin-supportメーリングリストでも質問されまし


これで、AWS Redshiftクラスターが稼働していて、コマンドラインから次のコマンドラインに接続できます。

$ psql -h host -d database -p port -U username

pgAdmin IIIを介してクラスターに接続したいのですが、クラスターに接続した後、次のようなエラーが発生します。

エラー:default_tablespaceを表示するには、スーパーユーザーである必要があります

入力したフィールドは、[名前]、[ホスト]、[ポート]、[メンテナンスDB]、[ユーザー名]、および[パスワード]でした。これらはすべて、psqlコマンドと同じように入力しました。

ここで、psqlを介して接続し、次のことを確認します。

$ \tu

このユーザー[AWSによって付与されたマスターユーザー]は、実際にはスーパーユーザーです。では、このエラーの原因について何か提案はありますか?

フォローアップの質問として、他のリモートデータベースに接続すると、スーパーユーザーではないのにこのエラーが発生しないので、ここで何が起こっているのでしょうか。pgAdmin経由で接続するときにRedshiftが原因でこのエラーが発生するのはどうですか?

4

3 に答える 3

3

SQLWorkbench を試してみてください。pgadmin は試していませんが、SqlWorkbench と Postgresql jdbc コネクタは完全に機能します。

于 2013-03-08T19:28:10.363 に答える
3

複雑な SQL を編集するための GUI の方法だけが必要で、変更を行うたびにコピーして貼り付けたくない場合は、編集ショートカットを使用できます。

pguser=> \e

これにより、選択したエディターが開きます (マシンに として保存されます$EDITOR) 。

セッションの保持のためだけに上書きするには(デフォルトが であるvimが使用したい場合gedit)、これを実行します:

$ EDITOR=gedit psql -h host -d database -p port -U username

を使用して SQL を編集し\e、保存して終了します。それはあなたのコードを実行します。次に、もう一度開く\eと、エディターに以前のクエリが入力されます。

楽しみ!

于 2013-07-08T17:44:54.157 に答える