57P01: admin_shutdown
PostgreSQL意味
管理者コマンドにより、アクティブな接続が終了された。サーバーのシャットダウン中、またはセッションが手動で終了された場合にクライアントがこのエラーを受け取る ('terminating connection due to administrator command')。
原因
DBA が pg_terminate_backend() でセッションを強制終了した、サーバーが fast/immediate モードでシャットダウンされている (smart シャットダウンはセッションを強制終了せず終了を待つ)、または構成変更/計画メンテナンスのため既存の接続が切断された。一部のフェイルオーバーシナリオでは、旧プライマリもこの方法で接続を切断する。
対処方法
通常は恒久的なエラーではなく、アプリケーションは再接続 (再試行) する必要がある。予期しない場合は、サーバーログでシャットダウン/終了の理由を調査する。計画メンテナンスに備え、アプリケーションに自動再接続とコネクションプールのヘルスチェックを実装する。サーバーログには誰がセッションを終了したかは記録されない。pg_terminate_backend の呼出しを追跡するには、log_statement (または pgaudit) で監査証跡を残す。