Discourse インスタンスを、Azure 上でホストされている別の Postgres DB(こちら に記載されている手順で設定)に pg_bouncer を経由して接続するように設定しようとしていますが、問題が発生しています。
Discourse は Azure 上の VM でホストされています。pg_bouncer は VM にインストールされ設定済みで、以下のコマンドで VM からホストされた DB への接続を確認できます。
psql -h 127.0.0.1 -p 5432 -U [username] -d [database]
app.yml では、DB ホスト名を使用する代わりに 127.0.0.1 を使用するように変更しました。
DISCOURSE_DB_HOST: [was hostname, tried 127.0.0.1]
アプリを再ビルドすると、以下のエラーが表示されます。
I, [2020-09-18T20:48:51.653890 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
PG::ConnectionBad: could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
psql 経由での接続と app.yml の設定の違いとして考えられるのは、app.yml にはパスワードが指定されている点です。psql では pg_bouncer の userlist に設定されているため、パスワードの指定は不要です。
ご助力いただければ幸いです。