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


181

herokuデータベースをpgadminクライアントで管理したいと思います。今まで、私はでこれを行ってきましたpsql。を使用しheroku pg:credentialsてDBに接続するためにからのデータを使用するとpgadmin、以下が取得されます。

エラーが発生しました:

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

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


1
この質問をしていただきありがとうございます。私はそれが可能であることを知りませんでした
スローハリー

回答:


327

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

pgAdmin III-新しいサーバーの登録

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


9
別の答えで提案されているだけでなく、接続ダイアログで「必要| | SSL SSL」を、またはそうでなければ、まだ接続に失敗します、あなたが選択することで、SSLを有効にする必要があります。
Brad Parks

Railsアプリがある場合は、github.com / igorkasyanchuk / rails_db
Igor Kasyanchuk

pgadmin 3で、接続しようとしているサーバーが8.4から9.3の間ではなく、接続しているのに、エラーポップアップ付きの159データベースのリストが常に表示されるというエラーが発生します。
Abhishek 2016年

3
これは私のために機能しなくなったのですか?それはまだ誰でもうまくいきますか?
Rune Jeppesen 2017

@Cedそう私も今-Windowsはファイアウォールをオンにしてそのポートをブロックすることにしました:-/
Rune Jeppesen

102

上記のaraqnidの回答で示唆されているようにメンテナンスDB名を変更した後、データベースをDB制限フィールドに追加する必要があります。これがないと、何千ものデータベースが表示され、リストが存在する場合、リストでデータベースを見つけることができない場合があるためです。長すぎる。

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


5
+1を使用し、db名を追加するときINは、dbリストをフィルタリングする句を動的に生成するために使用されるため、必ず一重引用符で囲んでください。
Glenn

20

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

編集:

ここでより完全に回答:https : //dba.stackexchange.com/questions/21869/connecting-pgadmin3-to-postgres-on-heroku

postgresデータベースへの接続は許可されないため、Maintenance DBをデータベース名に設定し、SSLを使用するようにしてください。

それでうまくいけば十分でしょう。


2
SSLを強制するために何かのファイル/キーが必要ですか?(無知のため失礼します)
トーマス・ロメロ

通常、グラフィカルインターフェイスには、どこかにSSLチェックボックスがあります。私はpgadminを使用していませんが、docs [1]に基づいて、接続構成ダイアログにSSLタブがあるように見えます。[1] pgadmin.org/docs/dev/connect.html
hgmnz

SSLタブをクリックすると、証明書とキーを要求されましたが、それらの値がわかりませんでした。メンテナンスDB名をheroku DB名に設定することを購入しましたが、SSLについて何も指定せずに、[プロパティ]タブのみを設定して接続できました(これは明らかに自動的に行われます)
Tomas Romero

10

メンテナンスデータベースをデータベースの名前(dva70000p0090など)に変更します。これはうまくいくはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.