web-dev-qa-db-ja.com

pgadminでherokuデータベースに接続する

pgadminクライアントでherokuデータベースを管理したいと思います。今では、psqlでこれを行っています。 heroku pg:credentialsからのデータを使用してpgadminを使用してDBに接続すると、次のようになります。

エラーが発生しました:

サーバーへの接続エラー:致命的:データベース "postgres"の許可が拒否されました詳細:ユーザーにCONNECT特権がありません。

接続を実現する方法に関するガイドはありますか?

171
Tomas Romero

PgAdminIIIでHerokuサーバーの「プロパティ」を開き、「Maintenance DB」の値を接続するデータベースの名前に変更します。

pgAdmin III - New Server Registration

デフォルトの設定は、サーバー上の任意のデータベースに接続できるDBAなどに適していますが、明らかにそうではありません。

317
araqnid

上記のaraqnidの答え で提案されているようにメンテナンスDB名を変更した後、データベースをDB制限フィールドに追加する必要があります。これがないと、数千のデータベースが表示され、リストが長すぎる場合はリストに追加します。

詳細はこちら- アクセスが許可されていないデータベースを非表示にする方法

91
cm12

Herokuの外部接続にはSSLが必要です。クライアントでSSLを強制しているかどうかを確認してください。

編集:

ここでより詳細に答えました: https://dba.stackexchange.com/questions/21869/connecting-pgadmin3-to-postgres-on-herok

postgresデータベースへの接続は許可されていないため、メンテナンスDBをデータベース名に設定し、SSLを使用してください。

うまくいけば十分です。

18
hgmnz

メンテナンスデータベースをデータベースの名前に変更します(例: dva70000p0090。これは動作するはずです。

7
ravi