Herjan Postgresデータベース(データベース)をDjangoアプリに関連付けて実行しています。アドオンを参照するドキュメントはこちらです。Herokuは今日、デフォルトであった共有データベースアドオンからすべてを移行することをユーザーに警告したため、これはコミュニティにとって価値のある質問になると思いました。
pgAdmin3をデータベースに接続するときに問題が発生しました。
上記のリンクの指示に従って、次のコマンドを使用してデータベースの資格情報を取得します。
$ heroku pg:credentials HEROKU_POSTGRESQL_OLIVE
Mac OSXでPostgresqlの自作インストールを使用しています。
それまでの間、私は次のことを行いました。
- 私のpg_postgresql.confでSSLをオンにしました。
- 設定を追加しました:
listen_addresses = '*'
- と追加されました
host all all 0.0.0.0/0 md5
- 私のpostgresサーバーを再起動しました。
次に、pgAdmin3に移動してを選択しますFile > Add Server
。
Herokuが提供する資格情報を次のように入力します(1つ目はHeroku資格情報名、2つ目はpgAdminフィールド名です):
[プロパティ]タブで:
- Nameへのdbname;
- ホストへのホスト。
- ポートへのポート。
- 「Maintenance Database」のpgAdminフィールドは空白のままにします。
- ユーザー名にユーザー;
- Password to Password;
[SSL]タブ:
- SSLのフィールドで、「require」を選択します(Herokuの指示に従います)。
Enterキーを押すと、pgAdminは次のようにエラーをスローします。
An error has occurred:
Error connecting to the server: FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
この時点で何をすべきかわからない。任意のポインタをいただければ幸いです。
The maintenance DB field is used to specify the initial database that pgAdmin connects to, and that will be expected to have the pgAgent schema and adminpack objects installed (both optional). On PostgreSQL 8.1 and above, the maintenance DB is normally called ‘postgres’
-そして、それはpgAdminが接続しようとしたものです。postgres
ユーザーのパスワードを入力します。