Parameter · Resource Usage / Memory
notify_buffers
Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache.
- Default:
128kB - Type: integer (8kB)
- Range: 128kB … 1GB
- Applies: Restart required
In plain words
Messages sent with NOTIFY go into a queue stored in pg_notify until every listening session has read them. This sets how many 8 kB pages of that queue are kept in shared memory.
For DBAs and operators
Configurable since PostgreSQL 17 (default 16 buffers, multiple of 16). Busy LISTEN/NOTIFY systems with many listeners, or listeners that fall behind, read older queue pages; misses show as NotifySLRU/NotifyBuffer waits and in pg_stat_slru (name = 'notify').
The queue's total size is limited separately by max_notify_queue_pages. NOTIFY also takes a global lock at commit, so a very high NOTIFY rate is a scalability limit regardless of buffers.
How to change it
Change in postgresql.conf or ALTER SYSTEM, then restart the server.