· 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

· 6 min · PostgreSQL

All Your GUCs in a Row: max_files_per_process

Duck standing on pavement carrying an oversized stack of colorful file folders and binders on its back. PostgreSQL's max_files_per_process isn't a hard limit—it's a descriptor pool that quietly recycles old files when full.

0 comments

· 7 min · PostgreSQL

All Your GUCs in a Row: max_connections

Mallard duck holding a telephone handset, standing before a vintage switchboard with tangled cables in a retro office setting. `max_connections` is a memory budget and a circuit breaker disguised as a capacity setting.

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: max_active_replication_origins

Duck with brown and white plumage standing beside a nest of white eggs and yellow ducklings in dried grass and straw. PostgreSQL 18 finally gave replication origins their own parameter after a decade of borrowing space from `max_replication_slots`.

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: maintenance_work_mem

Steampunk-style illustration of ducks operating an industrial factory with copper pipes, steam vents, pressure gauges, and hanging pendant lights. Unlock faster index builds and vacuum operations by understanding maintenance_work_mem: PostgreSQL's one-allocation memory budget that actually behaves like…

0 comments

· 4 min · PostgreSQL

All Your GUCs in a Row: maintenance_io_concurrency

Row of ducks wearing yellow hard hats and green safety vests stand on a construction site with cranes and building materials in the background. Discover which PostgreSQL maintenance tasks actually use `maintenance_io_concurrency`—the answer is wider and more surprising than the name suggests, and…

0 comments

· 5 min · PostgreSQL

All Your GUCs in a Row: logical_decoding_work_mem

Photograph of a mahogany library desk with handwritten manuscript, brass lamp with green shade, taxidermied duck, leather-bound books, and brass magnifying glasses, against floor-to-ceiling bookshelves and stained-glass window. Logical decoding holds uncommitted transactions in memory until commit—and when they get too big, PostgreSQL spills them to disk.

0 comments

· 3 min · PostgreSQL

All Your GUCs in a Row: log_parser_stats, log_planner_stats, log_executor_stats, and log_statement_stats

Duck holding a forest ecology survey sheet, surrounded by data tables and stacked papers on a log in a wooded setting. PostgreSQL's oldest logging parameters measure CPU time, page faults, and context switches per statement—crude but irreplaceable when you need to know why a…

0 comments

· 7 min · PostgreSQL

All Your GUCs in a Row: log_startup_progress_interval and log_recovery_conflict_waits

Mallard duck standing on a wooden log-shaped riding mower in a backyard lawn. Track WAL replay progress on a primary, or diagnose why a standby stalled—two GUCs for the same startup question, answered only in the server log.

0 comments

· 4 min · PostgreSQL

All Your GUCs in a Row: log_lock_waits and log_lock_failures

Duck wearing a wristwatch stands in front of a wooden log cabin door with multiple padlocks, other log buildings visible in background. log_lock_waits is the cheapest lock-contention detector PostgreSQL ships, and through version 18 it is off by default. Turn it on. PostgreSQL 19 will do it for

0 comments