2012-08-02 14 views
157

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

をエラーが発生しました:サーバーへの接続

エラー:FATAL:データベース 「Postgresの」詳細のために拒否された権限を:ユーザーにはCONNECT特権がありません。

どのように接続を達成するためのガイドですか?

+1

はこの質問をしていただきありがとうございます、私はちょうどそれが –

答えて

284

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

pgAdmin III - New Server Registration

デフォルトの設定では、サーバー上の任意のデータベースに接続できるデータベース管理者らに適しているが、どうやらそれはあなたのケースでは真実ではありません。

+7

[別の回答で提案されている] ://stackoverflow.com/a/11769894/26510)、接続ダイアログで「SSL | SSL | require」を選択してSSLを有効にする必要があります。そうしないと接続に失敗します。 –

+1

Posticoを使用している場合は、これも機能します。 –

+3

Herokuデータベースを見つけるには:https://postgres.heroku.com/detabases – whiteshooz

16

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

編集:

は、ここではより徹底的回答:https://dba.stackexchange.com/questions/21869/connecting-pgadmin3-to-postgres-on-heroku

を我々がpostgresデータベースへの接続を許可するので、あなたのデータベース名にメンテナンスDBを設定してください、とSSLを使用するようにしてくださいしないでください。

これで十分です。

+0

可能であることを知っている私は、SSLを強制するために、ファイル/キーのいずれかの種類を必要としませんでしたか? (私には無知について申し訳ありません) –

+0

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

+0

[SSL]タブをクリックすると、証明書と鍵が要求され、その値がわかりませんでした。 メンテナンスDB名を私のheroku DB名に設定して購入しましたが、SSLについて何も指定する必要はありません(これは明らかに自動的に行われます) –

6

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

+0

ませSSL必要はありません、ただラヴィが言ったように行なったし、それはデシベルを追加 – Alain

81

araqnid's answer aboveで提案されているようにメンテナンスDB名を変更した後は、DB制限フィールドにデータベースを追加する必要があります。これがなければ何千ものデータベースが表示されるため、リスト内であなたを見つけることができません。リストが長すぎます。ここ

詳細 - How to hide databases that I am not allowed to access

+5

+1とするときに動作しますDBリストをフィルタリングするために 'IN'節を動的に生成するために使用されるので、一重引用符で囲んでください。 – Glenn

関連する問題