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.