DBAtlas · 데이터베이스 운영 아틀라스

57P01: admin_shutdown

PostgreSQL

의미

관리자 명령으로 인해 활성 연결이 종료되었다. 서버가 종료 중이거나 세션이 수동으로 종료될 때 클라이언트가 이 오류를 받는다('terminating connection due to administrator command').

원인

DBA가 pg_terminate_backend()로 세션을 종료했거나, 서버가 fast/immediate 모드로 종료 중이거나(smart shutdown은 세션을 종료하지 않고 끝날 때까지 기다린다), 구성 변경/계획된 유지보수를 위해 기존 연결이 끊긴 경우다. 일부 페일오버 시나리오에서는 이전 primary도 이렇게 연결을 끊는다.

해결 방법

보통 영구적인 오류가 아니며 애플리케이션이 재연결(재시도)해야 한다. 예상치 못한 경우라면 서버 로그에서 shutdown/terminate 이유를 조사한다. 계획된 유지보수에 대비해 애플리케이션에 자동 재연결과 커넥션 풀 상태 점검을 구현한다. 서버 로그는 누가 세션을 종료했는지 보여 주지 않으므로, pg_terminate_backend 호출을 추적하려면 log_statement(또는 pgaudit)로 감사 기록을 남긴다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목