Skip to content

PostgreSQL 17 → 18 GUC diff

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

Fact. The measured inventory changes from 380 to 399 settings: 21 added, 5 boot-default changes, and 2 removed.

Added parameters

Parameter Type Context Boot default Category
autovacuum_vacuum_max_threshold integer sighup 100000000 Vacuuming / Automatic Vacuuming
autovacuum_worker_slots integer postmaster 16 Vacuuming / Automatic Vacuuming
enable_distinct_reordering bool user on Query Tuning / Planner Method Configuration
enable_self_join_elimination bool user on Query Tuning / Planner Method Configuration
extension_control_path string superuser $system Client Connection Defaults / Other Defaults
file_copy_method enum user copy Resource Usage / Disk
idle_replication_slot_timeout integer sighup 0 s Replication / Sending Servers
io_max_combine_limit integer postmaster 16 8kB (128 KiB (16 × 8kB)) Resource Usage / I/O
io_max_concurrency integer postmaster -1 Resource Usage / I/O
io_method enum postmaster worker Resource Usage / I/O
io_workers integer sighup 3 Resource Usage / I/O
log_lock_failures bool superuser off Reporting and Logging / What to Log
max_active_replication_origins integer postmaster 10 Replication / Subscribers
md5_password_warnings bool user on Connections and Authentication / Authentication
num_os_semaphores integer internal 0 Preset Options
oauth_validator_libraries string sighup "" (empty string) Connections and Authentication / Authentication
ssl_groups string sighup X25519:prime256v1 Connections and Authentication / SSL
ssl_tls13_ciphers string sighup "" (empty string) Connections and Authentication / SSL
track_cost_delay_timing bool superuser off Statistics / Cumulative Query and Index Statistics
vacuum_max_eager_freeze_failure_rate real user 0.03 Vacuuming / Freezing
vacuum_truncate bool user on Vacuuming / Default Behavior

Boot-default changes

Parameter PG17 PG18 Category
effective_io_concurrency 1 16 Resource Usage / I/O
log_connections off "" (empty string) Reporting and Logging / What to Log
maintenance_io_concurrency 10 16 Resource Usage / I/O
server_version 17.11 (Debian 17.11-1.pgdg13+2) 18.6 (Debian 18.6-1.pgdg13+2) Preset Options
server_version_num 170011 180006 Preset Options

Removed parameters

Parameter Last type Context Last boot default Category
extension_destdir string superuser "" (empty string) File Locations
ssl_ecdh_curve string sighup prime256v1 Connections and Authentication / SSL

Method

The three lists compare the pinned PG17 and PG18 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.