notify_buffers
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 17 | 16 | postmaster (재시작) | integer |
| 18 | 16 | postmaster (재시작) | integer |
| 19 | 16 | postmaster (재시작) | integer |
pg_notify의 내용을 캐시하는 데 쓸 shared memory 양을 지정한다. 단위 없이 값을 주면 블록 수(BLCKSZ, 보통 8kB)로 해석하며 기본값은 16이다. 서버 시작 시에만 설정할 수 있다.
NOTIFY로 보낸 알림은 수신 세션이 읽어갈 때까지 pg_notify 아래 SLRU 큐에 저장되는데, 이 파라미터는 그 큐 페이지를 메모리에 얼마나 캐시할지를 정한다. 큐 전체 크기의 상한은 max_notify_queue_pages가 따로 담당한다. PostgreSQL 17부터 SLRU 캐시 크기를 이런 개별 파라미터로 조정할 수 있게 됐다.
운영 노트:
LISTEN/NOTIFY를 이벤트 버스처럼 많이 쓰는 애플리케이션에서 pg_stat_slru 뷰의 notify 항목에 캐시 미스가 쌓인다면 값을 늘려볼 수 있다. 알림 사용량이 적다면 기본값으로 충분하다.출처: PostgreSQL 18 문서