· 6 min · PostgreSQL

All Your GUCs in a Row: max_parallel_workers and max_parallel_workers_per_gather

Photograph of a mid-century office filled with ducks seated at school desks with papers and notebooks, while suited men work in the background. PostgreSQL's parallel worker parameters don't mean what their names suggest: one caps per-node requests, the other enforces a shared limit that any session can…

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: max_parallel_maintenance_workers

Surreal illustration of five ducks in work clothes and hats holding pickaxes on a construction site, with human workers and wooden scaffolding in the background. Raising `max_parallel_maintenance_workers` doesn't guarantee parallel builds use it.

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: max_notify_queue_pages

Row of ducks holding newspapers while waiting at a nighttime bus stop on a city street. The `LISTEN`/`NOTIFY` queue grew from 8GB to unlimited in PostgreSQL 17.

0 comments

· 7 min · PostgreSQL

The Call Is Coming From Inside the Session

Role-level timeouts and read-only flags sound safe until you realize the session can change them in one statement.

0 comments

· 6 min · PostgreSQL

All Your GUCs in a Row: max_logical_replication_workers

Black and white photograph of ducks wearing nurse caps in a crowded indoor pen with dozens of ducklings, circa mid-20th century. 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…

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: max_locks_per_transaction

Mallard duck standing beside a large dome-shaped pile of padlocks chained together outdoors. `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…

0 comments

· 16 min · PostgreSQL

19th Nervous Breakdown

PostgreSQL 19's release crumbled under its own ambition: eight major features landed in five weeks before freeze, three committers pulled their work, and a…

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: max_index_keys

Illustration of a mallard duck with iridescent green head and orange feet standing before a wooden card catalog in a library lined with bookshelves. 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…

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: max_identifier_length

Duck wearing a name badge reading "QUACKQUACKQUACK" at a poultry show, surrounded by other ducks and people in the background. 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

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: max_function_args

Duck standing in front of a blackboard covered with handwritten mathematical equations and formulas in a classroom. PostgreSQL won't let you pass more than 100 arguments to a function, and changing it requires rebuilding every extension on your machine.

0 comments