web-dev-qa-db-ja.com

pgAdminからRedshiftクラスターに接続する

[〜#〜] 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が原因でこのエラーが発生するのはどうですか?

20
Justin

PGAdmin 1.6.3(2007年3月から!) Redshiftを使用して(OS Xで)正常に動作しています。

これは、RedshiftがPostgres 8.0からフォークされたことを考えると、理にかなっています。

注:「細かい」とは、GUIで機能することを意味します。却下されるべきいくつかの癖とエラーメッセージがまだあります。

15
Joe Harris

SQLWorkbenchを試してください。 pgadminを試したことはありませんが、SqlWorkbenchとPostgresqljdbcコネクタは完全に機能します。

3
GG.

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

pguser=> \e

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

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

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

\eを使用してSQLを編集し、保存して終了します。コードを実行します。次に、再度\eを開くだけで、エディタに前のクエリが入力されます。

楽しい!

2
Mikhail