[〜#〜] update [〜#〜]:PgAdmin-supportメーリングリストでも質問 here 。
AWS Redshiftクラスターが稼働しているので、コマンドラインから次のコマンドでそれに接続できます
$ psql -h Host -d database -p port -U username
PgAdmin IIIを介してクラスターに接続したいのですが、クラスターに接続した後、次のようなエラーが表示されます。
エラー:default_tablespaceを表示するには、スーパーユーザーである必要があります
入力したフィールドは、名前、ホスト、ポート、メンテナンスDB、ユーザー名、パスワードでした。これらはすべて、psqlコマンドと同じように入力されました。
ここで、psqlを介して接続し、次のことを確認します。
$ \tu
このユーザー[AWSによって付与されたマスターユーザー]は、実際にはスーパーユーザーです。それで、このエラーの原因が何であるかについての提案はありますか?
フォローアップの質問として、他のリモートデータベースに接続すると、スーパーユーザーではないのにこのエラーが発生しないので、ここで何が起こっているのでしょうか。 pgAdmin経由で接続するときにRedshiftが原因でこのエラーが発生するのはどうですか?
PGAdmin 1.6.3(2007年3月から!) Redshiftを使用して(OS Xで)正常に動作しています。
これは、RedshiftがPostgres 8.0からフォークされたことを考えると、理にかなっています。
注:「細かい」とは、GUIで機能することを意味します。却下されるべきいくつかの癖とエラーメッセージがまだあります。
SQLWorkbenchを試してください。 pgadminを試したことはありませんが、SqlWorkbenchとPostgresqljdbcコネクタは完全に機能します。
複雑なSQLを編集するためのGUIの方法だけが必要で、変更を加えるたびにコピーして貼り付けたくない場合は、編集ショートカットを使用できます。
pguser=> \e
これにより、選択したエディターが開きます(マシンに$EDITOR
として保存されます)
セッションの保持のためだけに上書きするには(デフォルトがvim
であるが、gedit
を使用したい場合)、これを実行します。
$ EDITOR=gedit psql -h Host -d database -p port -U username
\e
を使用してSQLを編集し、保存して終了します。コードを実行します。次に、再度\e
を開くだけで、エディタに前のクエリが入力されます。
楽しい!