설명
log_disconnections는 PostgreSQL 세션 종료와 지속 시간을 기록합니다. 이 정보가 없으면 연결 시작 기록과 종료 기록을 연결해 세션을 조사하기 어렵습니다. 종료 로그만으로 모든 비정상 종료 원인이나 실행한 SQL을 알 수 있는 것은 아닙니다.
잠재적 영향
- 세션이 언제 끝났고 얼마나 지속되었는지 확인하기 어려울 수 있습니다.
- 반복적인 재연결이나 예상과 다른 세션 길이를 조사할 자료가 부족할 수 있습니다.
해결 방법
- 현재 서비스에서
log_disconnections를on으로 설정하세요. - 접속 로그 및 오류 로그와 함께 수집해 관련 세션을 비교하세요.
- 실제 로그 수신과 보존 기간을 확인하고 로그 접근 권한을 제한하세요.
예시
첫 예제는 2025년 3월 28일 종료된 Single Server의 설정입니다. 두 번째는 기존 Flexible Server용이며 azure.azcollection 3.18.0 이상의 모듈을 사용합니다.
변경 전
yaml
- name: PostgreSQL 설정 변경
azure.azcollection.azure_rm_postgresqlconfiguration:
resource_group: myResourceGroup
server_name: myServer
name: log_disconnections
value: "off"
세션 종료 로깅이 꺼져 있어 이 설정을 통한 종료 시점과 지속 시간 기록이 남지 않습니다.
변경 후
yaml
- name: PostgreSQL 설정 변경
azure.azcollection.azure_rm_postgresqlflexibleconfiguration:
resource_group: myResourceGroup
server_name: myServer
name: log_disconnections
value: "on"
세션 종료 로깅을 활성화합니다. 접속과 오류 기록을 함께 확인하면 세션 조사에 도움이 됩니다.