Skip to content

PostgreSQL 15 → 16 GUC diff

Core configuration parameters added, removed, or changed in boot default between PostgreSQL 15 and 16.
Note

Fact. The measured inventory changes from 355 to 364 settings: 14 added, 2 boot-default changes, and 5 removed.

Added parameters

Parameter Type Context Boot default Category
createrole_self_grant string user "" (empty string) Client Connection Defaults / Statement Behavior
debug_io_direct string postmaster "" (empty string) Developer Options
debug_logical_replication_streaming enum user buffered Developer Options
debug_parallel_query enum user off Developer Options
enable_presorted_aggregate bool user on Query Tuning / Planner Method Configuration
file_extend_method enum sighup posix_fallocate Resource Usage / Disk
gss_accept_delegation bool sighup off Connections and Authentication / Authentication
icu_validation_level enum user warning Client Connection Defaults / Locale and Formatting
max_parallel_apply_workers_per_subscription integer sighup 2 Replication / Subscribers
reserved_connections integer postmaster 0 Connections and Authentication / Connection Settings
scram_iterations integer user 4096 Connections and Authentication / Authentication
send_abort_for_crash bool sighup off Developer Options
send_abort_for_kill bool sighup off Developer Options
vacuum_buffer_usage_limit integer user 256 kB (256 KiB) Resource Usage / Memory

Boot-default changes

Parameter PG15 PG16 Category
server_version 15.19 (Debian 15.19-1.pgdg13+2) 16.15 (Debian 16.15-1.pgdg13+2) Preset Options
server_version_num 150019 160015 Preset Options

Removed parameters

Parameter Last type Context Last boot default Category
force_parallel_mode enum user off Developer Options
lc_collate string internal C Preset Options
lc_ctype string internal C Preset Options
promote_trigger_file string sighup "" (empty string) Replication / Standby Servers
vacuum_defer_cleanup_age integer sighup 0 Replication / Primary Server

Method

The three lists compare the pinned PG15 and PG16 pg_settings snapshots directly. A default change is a change in the boot_val plus unit pair; setting is excluded so an initdb-generated value is not mistaken for the compiled boot default.