log_lock_waits
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | off | superuser | boolean |
| 15 | off | superuser | boolean |
| 16 | off | superuser | boolean |
| 17 | off | superuser | boolean |
| 18 | off | superuser | boolean |
| 19 | on | superuser | boolean |
세션이 deadlock_timeout보다 오래 lock을 기다리면 log 메시지를 남긴다.
lock 대기가 성능 저하의 원인인지 판단하는 데 유용하다. 대기가 deadlock_timeout(기본 1초)을 넘는 시점에 어떤 프로세스가 어떤 lock을 기다리는지 기록되므로, blocking을 일으키는 세션과 쿼리를 추적하는 단서가 된다. 기본값은 off이며, superuser이거나 적절한 SET 권한이 있어야 바꿀 수 있다.
운영 노트: log 부담이 작아 운영 환경에서 켜 두기를 흔히 권장한다. “still waiting for” 메시지를 검색하면 lock 경합 구간을 빠르게 찾을 수 있고,
deadlock_timeout을 조정하면 감지 임계값도 함께 움직인다는 점만 유의하면 된다.출처: PostgreSQL 18 문서