状況
ローカルPC内のDockerでpostgresサーバーコンテナを作成して起動したが
ローカルPC上のA5M2から接続しようとしてもつながらない。
powershellからpsql
でターミナルに接続してSQL文を実行することは出来る。
原因:ポート5432で既にPC上のpostgresが動いていた
今回Dockerコンテナ起動したpostgresはports: 5432:5432
でPCにトンネリングしていたが、
既にローカルPC上のpostgresがport:5432
で起動していた。
つまり、DBクライアントからDocker上のpostgresのログイン情報を用いてローカルPC上のpostgresに接続しようとしていたことになる。
ローカルPC上で動いているpostgresは不要だったためサービスを停止した。
Dockerコンテナを再作成した上で接続を試みたところ、無事A5M2からDocker上のpostgresにログイン出来て解決した。
感想
結果、ただの凡ミスでしたが自分にとっては新しいタイプの原因でした。
pg_hba.conf等は設定済だったので、この原因にたどり着くまで1時間くらい考えてました。
相談者の方に「...もしかしてpg_hba.confとかってDocker内じゃなくてCドライブ上にもあったりしますか?」って聞いたらビンゴでした。リモートだと状況の把握がなかなか難しいと思った。