max_notify_queue_pages
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 17 | 1048576 | postmaster (재시작) | integer |
| 18 | 1048576 | postmaster (재시작) | integer |
| 19 | 1048576 | postmaster (재시작) | integer |
NOTIFY/LISTEN 큐에 할당할 수 있는 최대 페이지 수를 정한다. 기본값은 1048576으로, 8kB 페이지 기준 최대 8GB의 디스크 공간까지 큐가 커질 수 있다. 서버 시작 시에만 설정할 수 있다.
NOTIFY로 보낸 알림은 수신 세션이 읽어갈 때까지 큐에 쌓인다. 어떤 세션이 LISTEN만 걸어두고 알림을 읽지 않으면 큐가 계속 자라는데, 이 파라미터가 그 상한이다. 큐가 가득 차면 NOTIFY를 실행하는 트랜잭션이 커밋 시점에 실패한다.
운영 노트: 큐 사용량은
pg_notification_queue_usage() 함수로 확인할 수 있다. 사용률이 꾸준히 올라간다면 알림을 읽지 않는 유휴 LISTEN 세션이 없는지부터 점검하는 것이 순서다. 한도를 늘리는 것은 근본 해결이 아니다.출처: PostgreSQL 18 문서