DB Internals AtlasPostgreSQL 18.6 Home About

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.

See it in context

SLRU caches

Related parameters

max_notify_queue_pages

All Resource Usage parameters