08004: sqlserver_rejected_establishment_of_sqlconnection
PostgreSQL意味
サーバーには到達したが、サーバーが接続の確立を拒否した。ネットワークアクセスは存在するが、サーバーはポリシーによりこの接続を受け付けなかった。
原因
PostgreSQL サーバーがこのコードを生成することはまれで、主にクライアントドライバやコネクションプールが報告する。同様の拒否に対するサーバーの実際のコードは異なる: pg_hba.conf による拒否 ('no pg_hba.conf entry for host'、reject メソッド) は 28000 (invalid_authorization_specification)、max_connections の枯渇は 53300 (too_many_connections)、起動/シャットダウン中の接続拒否は 57P03 を返す。
対処方法
サーバーログで実際の SQLSTATE と拒否理由を確認する。pg_hba による拒否 (28000) の場合は、クライアント IP、ユーザー、データベースに一致する行を追加し (例: host all all 10.0.0.0/24 scram-sha-256)、SELECT pg_reload_conf(); でリロードする。接続の飽和 (53300) の場合は、SELECT count(*) FROM pg_stat_activity WHERE backend_type = 'client backend'; でクライアント接続数を max_connections と比較する。