herokuデータベースをpgadmin
クライアントで管理したいと思います。今まで、私はでこれを行ってきましたpsql
。を使用しheroku pg:credentials
てDBに接続するためにからのデータを使用するとpgadmin
、以下が取得されます。
エラーが発生しました:
サーバーへの接続エラー:致命的:データベース "postgres"の権限が拒否されました詳細:ユーザーにCONNECT特権がありません。
接続を達成する方法に関するガイドはありますか?
herokuデータベースをpgadmin
クライアントで管理したいと思います。今まで、私はでこれを行ってきましたpsql
。を使用しheroku pg:credentials
てDBに接続するためにからのデータを使用するとpgadmin
、以下が取得されます。
エラーが発生しました:
サーバーへの接続エラー:致命的:データベース "postgres"の権限が拒否されました詳細:ユーザーにCONNECT特権がありません。
接続を達成する方法に関するガイドはありますか?
回答:
pgAdminIIIでHerokuサーバーの「プロパティ」を開き、「Maintenance DB」の値を接続先のデータベースの名前に変更します。
デフォルトの設定は、サーバー上の任意のデータベースに接続できるDBAなどに適していますが、実際にはそうではありません。
上記のaraqnidの回答で示唆されているようにメンテナンスDB名を変更した後、データベースをDB制限フィールドに追加する必要があります。これがないと、何千ものデータベースが表示され、リストが存在する場合、リストでデータベースを見つけることができない場合があるためです。長すぎる。
詳細はこちら- アクセスを許可されていないデータベースを非表示にする方法
IN
は、dbリストをフィルタリングする句を動的に生成するために使用されるため、必ず一重引用符で囲んでください。
heroku以外の接続にはSSLが必要です。クライアントでSSLを強制しているかどうかを確認してください。
編集:
ここでより完全に回答:https : //dba.stackexchange.com/questions/21869/connecting-pgadmin3-to-postgres-on-heroku
postgres
データベースへの接続は許可されないため、Maintenance DBをデータベース名に設定し、SSLを使用するようにしてください。
それでうまくいけば十分でしょう。