All Your GUCs in a Row: max_notify_queue_pages
The `LISTEN`/`NOTIFY` queue grew from 8GB to unlimited in PostgreSQL 17.
max_notify_queue_pagesmax_logical_replication_workers
When a logical replication worker pool runs dry, subscriptions don't fail—they just stop making progress, filling your logs with warnings every five seconds…
max_locks_per_transaction
`max_locks_per_transaction` isn't about transactions or limits—it sizes the cluster-wide lock table, and its misleading name has confused PostgreSQL users for…
max_index_keys
PostgreSQL's `max_index_keys` has counted more than keys since INCLUDE columns arrived in version 11, but stays locked at 32 due to on-disk tuple format…
max_identifier_length
max_identifier_length reports a number, 63, and the number is the least interesting thing about it. Every relational database caps the length of a name. What is
max_function_args
PostgreSQL won't let you pass more than 100 arguments to a function, and changing it requires rebuilding every extension on your machine.
max_files_per_process
PostgreSQL's max_files_per_process isn't a hard limit—it's a descriptor pool that quietly recycles old files when full.
max_connections
`max_connections` is a memory budget and a circuit breaker disguised as a capacity setting.