Skip to content

This is the multi-page printable view of this section. .

Return to the regular view of this page.

Version diffs

GUCs added, removed, or changed in boot default between adjacent PostgreSQL majors.

Each page is a direct comparison of two pinned pg_settings snapshots, split into added, boot-default changes, and removed settings.

Versions Before After Added Default changes Removed
PG9.0 → PG9.1 207 219 12 10 0
PG9.1 → PG9.2 219 224 8 4 3
PG9.2 → PG9.3 224 231 9 3 2
PG9.3 → PG9.4 231 240 10 6 1
PG9.4 → PG9.5 240 249 11 3 2
PG9.5 → PG9.6 249 263 14 2 0
PG9.6 → PG10 263 272 11 12 2
PG10 → PG11 272 292 21 4 1
PG11 → PG12 292 317 26 6 1
PG12 → PG13 317 332 16 3 1
PG13 → PG14 332 348 18 5 2
PG14 → PG15 348 355 8 6 1
PG15 → PG16 355 364 14 2 5
PG16 → PG17 364 380 19 3 3
PG17 → PG18 380 399 21 5 2
PG18 → PG19 Beta 3 399 419 22 6 2
Important

“Default change” means boot_val or unit changed; it does not claim that the post-initdb active setting changed.

1 - PostgreSQL 9.0 → 9.1 GUC diff

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

Fact. The measured inventory changes from 207 to 219 settings: 12 added, 10 boot-default changes, and 0 removed.

Added parameters

Parameter Type Context Boot default Category
default_transaction_deferrable bool user off Client Connection Defaults / Statement Behavior
exit_on_error bool user off Error Handling
hot_standby_feedback bool sighup off Replication / Standby Servers
log_file_mode integer sighup 384 Reporting and Logging / Where to Log
max_pred_locks_per_transaction integer postmaster 64 Lock Management
quote_all_identifiers bool user off Version and Platform Compatibility / Previous PostgreSQL Versions
replication_timeout integer sighup 60000 ms (1 min) Replication / Master Server
restart_after_crash bool sighup on Error Handling
ssl_ciphers string postmaster ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH Connections and Authentication / Security and Authentication
synchronous_standby_names string sighup "" (empty string) Replication / Master Server
transaction_deferrable bool user off Client Connection Defaults / Statement Behavior
wal_receiver_status_interval integer sighup 10 s Replication / Standby Servers

Boot-default changes

Parameter PG9.0 PG9.1 Category
TimeZone UNKNOWN — (not set) Client Connection Defaults / Locale and Formatting
krb_server_keyfile "" (empty string) FILE:/etc/postgresql-common/krb5.keytab Connections and Authentication / Security and Authentication
log_timezone UNKNOWN — (not set) Reporting and Logging / What to Log
server_version 9.0.23 9.1.24 Preset Options
server_version_num 90023 90124 Preset Options
standard_conforming_strings off on Version and Platform Compatibility / Previous PostgreSQL Versions
timezone_abbreviations UNKNOWN — (not set) Client Connection Defaults / Locale and Formatting
transaction_isolation — (not set) default Client Connection Defaults / Statement Behavior
wal_buffers 8 8kB (64 KiB (8 × 8kB)) -1 8kB Write-Ahead Log / Settings
wal_sender_delay 200 ms 1000 ms (1 s) Replication / Master Server

Removed parameters

Parameter Last type Context Last boot default Category

Method

The three lists compare the pinned PG9.0 and PG9.1 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.

2 - PostgreSQL 9.1 → 9.2 GUC diff

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

Fact. The measured inventory changes from 219 to 224 settings: 8 added, 4 boot-default changes, and 3 removed.

Added parameters

Parameter Type Context Boot default Category
enable_indexonlyscan bool user on Query Tuning / Planner Method Configuration
event_source string postmaster PostgreSQL Reporting and Logging / Where to Log
ssl_ca_file string postmaster "" (empty string) Connections and Authentication / Security and Authentication
ssl_cert_file string postmaster server.crt Connections and Authentication / Security and Authentication
ssl_crl_file string postmaster "" (empty string) Connections and Authentication / Security and Authentication
ssl_key_file string postmaster server.key Connections and Authentication / Security and Authentication
temp_file_limit integer superuser -1 kB Resource Usage / Disk
track_io_timing bool superuser off Statistics / Query and Index Statistics Collector

Boot-default changes

Parameter PG9.1 PG9.2 Category
TimeZone — (not set) GMT Client Connection Defaults / Locale and Formatting
log_timezone — (not set) GMT Reporting and Logging / What to Log
server_version 9.1.24 9.2.23 Preset Options
server_version_num 90124 90223 Preset Options

Removed parameters

Parameter Last type Context Last boot default Category
custom_variable_classes string sighup — (not set) Customized Options
silent_mode bool postmaster off Reporting and Logging / Where to Log
wal_sender_delay integer sighup 1000 ms (1 s) Replication / Master Server

Method

The three lists compare the pinned PG9.1 and PG9.2 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.

3 - PostgreSQL 9.2 → 9.3 GUC diff

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

Fact. The measured inventory changes from 224 to 231 settings: 9 added, 3 boot-default changes, and 2 removed.

Added parameters

Parameter Type Context Boot default Category
autovacuum_multixact_freeze_max_age integer postmaster 400000000 Autovacuum
data_checksums bool internal off Preset Options
ignore_checksum_failure bool superuser off Developer Options
lock_timeout integer user 0 ms Client Connection Defaults / Statement Behavior
unix_socket_directories string postmaster /var/run/postgresql Connections and Authentication / Connection Settings
vacuum_multixact_freeze_min_age integer user 5000000 Client Connection Defaults / Statement Behavior
vacuum_multixact_freeze_table_age integer user 150000000 Client Connection Defaults / Statement Behavior
wal_receiver_timeout integer sighup 60000 ms (1 min) Replication / Standby Servers
wal_sender_timeout integer sighup 60000 ms (1 min) Replication / Sending Servers

Boot-default changes

Parameter PG9.2 PG9.3 Category
server_version 9.2.23 9.3.25 Preset Options
server_version_num 90223 90325 Preset Options
ssl_ciphers ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH DEFAULT:!LOW:!EXP:!MD5:@STRENGTH Connections and Authentication / Security and Authentication

Removed parameters

Parameter Last type Context Last boot default Category
replication_timeout integer sighup 60000 ms (1 min) Replication / Sending Servers
unix_socket_directory string postmaster "" (empty string) Connections and Authentication / Connection Settings

Method

The three lists compare the pinned PG9.2 and PG9.3 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.

4 - PostgreSQL 9.3 → 9.4 GUC diff

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

Fact. The measured inventory changes from 231 to 240 settings: 10 added, 6 boot-default changes, and 1 removed.

Added parameters

Parameter Type Context Boot default Category
autovacuum_work_mem integer sighup -1 kB Resource Usage / Memory
data_sync_retry bool postmaster off Error Handling
dynamic_shared_memory_type enum postmaster posix Resource Usage / Memory
huge_pages enum postmaster try Resource Usage / Memory
max_replication_slots integer postmaster 0 Replication / Sending Servers
max_worker_processes integer postmaster 8 Resource Usage / Asynchronous Behavior
session_preload_libraries string superuser "" (empty string) Client Connection Defaults / Shared Library Preloading
ssl_ecdh_curve string postmaster prime256v1 Connections and Authentication / Security and Authentication
ssl_prefer_server_ciphers bool postmaster on Connections and Authentication / Security and Authentication
wal_log_hints bool postmaster off Write-Ahead Log / Settings

Boot-default changes

Parameter PG9.3 PG9.4 Category
effective_cache_size 16384 8kB (128 MiB (16384 × 8kB)) 524288 8kB (4 GiB (524288 × 8kB)) Query Tuning / Planner Cost Constants
maintenance_work_mem 16384 kB (16 MiB) 65536 kB (64 MiB) Resource Usage / Memory
server_version 9.3.25 9.4.26 Preset Options
server_version_num 90325 90426 Preset Options
ssl_ciphers DEFAULT:!LOW:!EXP:!MD5:@STRENGTH HIGH:MEDIUM:+3DES:!aNULL Connections and Authentication / Security and Authentication
work_mem 1024 kB (1 MiB) 4096 kB (4 MiB) Resource Usage / Memory

Removed parameters

Parameter Last type Context Last boot default Category
krb_srvname string sighup postgres Connections and Authentication / Security and Authentication

Method

The three lists compare the pinned PG9.3 and PG9.4 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.

5 - PostgreSQL 9.4 → 9.5 GUC diff

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

Fact. The measured inventory changes from 240 to 249 settings: 11 added, 3 boot-default changes, and 2 removed.

Added parameters

Parameter Type Context Boot default Category
cluster_name string postmaster "" (empty string) Process Title
extension_destdir string superuser "" (empty string) File Locations
gin_pending_list_limit integer user 4096 kB (4 MiB) Client Connection Defaults / Statement Behavior
log_replication_commands bool superuser off Reporting and Logging / What to Log
max_wal_size integer sighup 64 16MB (1 GiB (64 × 16MB)) Write-Ahead Log / Checkpoints
min_wal_size integer sighup 5 16MB (80 MiB (5 × 16MB)) Write-Ahead Log / Checkpoints
operator_precedence_warning bool user off Version and Platform Compatibility / Previous PostgreSQL Versions
row_security bool user on Connections and Authentication / Security and Authentication
track_commit_timestamp bool postmaster off Replication
wal_compression bool superuser off Write-Ahead Log / Settings
wal_retrieve_retry_interval integer sighup 5000 ms (5 s) Replication / Standby Servers

Boot-default changes

Parameter PG9.4 PG9.5 Category
search_path "$user",public "$user", public Client Connection Defaults / Statement Behavior
server_version 9.4.26 9.5.25 Preset Options
server_version_num 90426 90525 Preset Options

Removed parameters

Parameter Last type Context Last boot default Category
checkpoint_segments integer sighup 3 Write-Ahead Log / Checkpoints
ssl_renegotiation_limit integer user 0 kB (0 B) Connections and Authentication / Security and Authentication

Method

The three lists compare the pinned PG9.4 and PG9.5 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.

6 - PostgreSQL 9.5 → 9.6 GUC diff

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

Fact. The measured inventory changes from 249 to 263 settings: 14 added, 2 boot-default changes, and 0 removed.

Added parameters

Parameter Type Context Boot default Category
backend_flush_after integer user 0 8kB (0 B (0 × 8kB)) Resource Usage / Asynchronous Behavior
bgwriter_flush_after integer sighup 64 8kB (512 KiB (64 × 8kB)) Resource Usage / Background Writer
checkpoint_flush_after integer sighup 32 8kB (256 KiB (32 × 8kB)) Write-Ahead Log / Checkpoints
force_parallel_mode enum user off Query Tuning / Other Planner Options
idle_in_transaction_session_timeout integer user 0 ms Client Connection Defaults / Statement Behavior
max_parallel_workers_per_gather integer user 0 Resource Usage / Asynchronous Behavior
min_parallel_relation_size integer user 1024 8kB (8 MiB (1024 × 8kB)) Query Tuning / Planner Cost Constants
old_snapshot_threshold integer postmaster -1 min Resource Usage / Asynchronous Behavior
parallel_setup_cost real user 1000 Query Tuning / Planner Cost Constants
parallel_tuple_cost real user 0.1 Query Tuning / Planner Cost Constants
replacement_sort_tuples integer user 150000 Resource Usage / Memory
syslog_sequence_numbers bool sighup on Reporting and Logging / Where to Log
syslog_split_messages bool sighup on Reporting and Logging / Where to Log
wal_writer_flush_after integer sighup 128 8kB (1 MiB (128 × 8kB)) Write-Ahead Log / Settings

Boot-default changes

Parameter PG9.5 PG9.6 Category
server_version 9.5.25 9.6.24 Preset Options
server_version_num 90525 90624 Preset Options

Removed parameters

Parameter Last type Context Last boot default Category

Method

The three lists compare the pinned PG9.5 and PG9.6 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.

7 - PostgreSQL 9.6 → 10 GUC diff

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

Fact. The measured inventory changes from 263 to 272 settings: 11 added, 12 boot-default changes, and 2 removed.

Added parameters

Parameter Type Context Boot default Category
allow_in_place_tablespaces bool superuser off Developer Options
enable_gathermerge bool user on Query Tuning / Planner Method Configuration
max_logical_replication_workers integer postmaster 4 Replication / Subscribers
max_parallel_workers integer user 8 Resource Usage / Asynchronous Behavior
max_pred_locks_per_page integer sighup 2 Lock Management
max_pred_locks_per_relation integer sighup -2 Lock Management
max_sync_workers_per_subscription integer sighup 2 Replication / Subscribers
min_parallel_index_scan_size integer user 64 8kB (512 KiB (64 × 8kB)) Query Tuning / Planner Cost Constants
min_parallel_table_scan_size integer user 1024 8kB (8 MiB (1024 × 8kB)) Query Tuning / Planner Cost Constants
ssl_dh_params_file string sighup "" (empty string) Connections and Authentication / Security and Authentication
wal_consistency_checking string superuser "" (empty string) Developer Options

Boot-default changes

Parameter PG9.6 PG10 Category
hot_standby off on Replication / Standby Servers
log_directory pg_log log Reporting and Logging / Where to Log
log_line_prefix "" (empty string) %m [%p] Reporting and Logging / What to Log
max_parallel_workers_per_gather 0 2 Resource Usage / Asynchronous Behavior
max_replication_slots 0 10 Replication / Sending Servers
max_wal_senders 0 10 Replication / Sending Servers
max_wal_size 64 16MB (1 GiB (64 × 16MB)) 1024 MB (1 GiB) Write-Ahead Log / Checkpoints
min_wal_size 5 16MB (80 MiB (5 × 16MB)) 80 MB (80 MiB) Write-Ahead Log / Checkpoints
password_encryption on md5 Connections and Authentication / Security and Authentication
server_version 9.6.24 10.23 (Debian 10.23-1.pgdg110+1) Preset Options
server_version_num 90624 100023 Preset Options
wal_level minimal replica Write-Ahead Log / Settings

Removed parameters

Parameter Last type Context Last boot default Category
min_parallel_relation_size integer user 1024 8kB (8 MiB (1024 × 8kB)) Query Tuning / Planner Cost Constants
sql_inheritance bool user on Version and Platform Compatibility / Previous PostgreSQL Versions

Method

The three lists compare the pinned PG9.6 and PG10 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.

8 - PostgreSQL 10 → 11 GUC diff

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

Fact. The measured inventory changes from 272 to 292 settings: 21 added, 4 boot-default changes, and 1 removed.

Added parameters

Parameter Type Context Boot default Category
data_directory_mode integer internal 448 Preset Options
enable_parallel_append bool user on Query Tuning / Planner Method Configuration
enable_parallel_hash bool user on Query Tuning / Planner Method Configuration
enable_partition_pruning bool user on Query Tuning / Planner Method Configuration
enable_partitionwise_aggregate bool user off Query Tuning / Planner Method Configuration
enable_partitionwise_join bool user off Query Tuning / Planner Method Configuration
jit bool user off Query Tuning / Other Planner Options
jit_above_cost real user 100000 Query Tuning / Planner Cost Constants
jit_debugging_support bool superuser-backend off Developer Options
jit_dump_bitcode bool superuser off Developer Options
jit_expressions bool user on Developer Options
jit_inline_above_cost real user 500000 Query Tuning / Planner Cost Constants
jit_optimize_above_cost real user 500000 Query Tuning / Planner Cost Constants
jit_profiling_support bool superuser-backend off Developer Options
jit_provider string postmaster llvmjit Client Connection Defaults / Shared Library Preloading
jit_tuple_deforming bool user on Developer Options
max_parallel_maintenance_workers integer user 2 Resource Usage / Asynchronous Behavior
parallel_leader_participation bool user on Resource Usage / Asynchronous Behavior
ssl_passphrase_command string sighup "" (empty string) Connections and Authentication / SSL
ssl_passphrase_command_supports_reload bool sighup off Connections and Authentication / SSL
vacuum_cleanup_index_scale_factor real user 0.1 Client Connection Defaults / Statement Behavior

Boot-default changes

Parameter PG10 PG11 Category
server_version 10.23 (Debian 10.23-1.pgdg110+1) 11.22 (Debian 11.22-1.pgdg120+1) Preset Options
server_version_num 100023 110022 Preset Options
track_activity_query_size 1024 1024 B (1 KiB) Resource Usage / Memory
wal_segment_size 2048 8kB (16 MiB (2048 × 8kB)) 16777216 B (16 MiB) Preset Options

Removed parameters

Parameter Last type Context Last boot default Category
replacement_sort_tuples integer user 150000 Resource Usage / Memory

Method

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

9 - PostgreSQL 11 → 12 GUC diff

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

Fact. The measured inventory changes from 292 to 317 settings: 26 added, 6 boot-default changes, and 1 removed.

Added parameters

Parameter Type Context Boot default Category
archive_cleanup_command string sighup "" (empty string) Write-Ahead Log / Archive Recovery
default_table_access_method string user heap Client Connection Defaults / Statement Behavior
log_transaction_sample_rate real superuser 0 Reporting and Logging / When to Log
plan_cache_mode enum user auto Query Tuning / Other Planner Options
primary_conninfo string postmaster "" (empty string) Replication / Standby Servers
primary_slot_name string postmaster "" (empty string) Replication / Standby Servers
promote_trigger_file string sighup "" (empty string) Replication / Standby Servers
recovery_end_command string sighup "" (empty string) Write-Ahead Log / Archive Recovery
recovery_min_apply_delay integer sighup 0 ms Replication / Standby Servers
recovery_target string postmaster "" (empty string) Write-Ahead Log / Recovery Target
recovery_target_action enum postmaster pause Write-Ahead Log / Recovery Target
recovery_target_inclusive bool postmaster on Write-Ahead Log / Recovery Target
recovery_target_lsn string postmaster "" (empty string) Write-Ahead Log / Recovery Target
recovery_target_name string postmaster "" (empty string) Write-Ahead Log / Recovery Target
recovery_target_time string postmaster "" (empty string) Write-Ahead Log / Recovery Target
recovery_target_timeline string postmaster latest Write-Ahead Log / Recovery Target
recovery_target_xid string postmaster "" (empty string) Write-Ahead Log / Recovery Target
restore_command string postmaster "" (empty string) Write-Ahead Log / Archive Recovery
restrict_nonsystem_relation_kind string user "" (empty string) Client Connection Defaults / Statement Behavior
shared_memory_type enum postmaster mmap Resource Usage / Memory
ssl_library string internal OpenSSL Preset Options
ssl_max_protocol_version enum sighup "" (empty string) Connections and Authentication / SSL
ssl_min_protocol_version enum sighup TLSv1 Connections and Authentication / SSL
tcp_user_timeout integer user 0 ms Client Connection Defaults / Other Defaults
wal_init_zero bool superuser on Write-Ahead Log / Settings
wal_recycle bool superuser on Write-Ahead Log / Settings

Boot-default changes

Parameter PG11 PG12 Category
autovacuum_vacuum_cost_delay 20 ms 2 ms Autovacuum
extra_float_digits 0 1 Client Connection Defaults / Locale and Formatting
jit off on Query Tuning / Other Planner Options
server_version 11.22 (Debian 11.22-1.pgdg120+1) 12.22 (Debian 12.22-1.pgdg120+1) Preset Options
server_version_num 110022 120022 Preset Options
transaction_isolation default read committed Client Connection Defaults / Statement Behavior

Removed parameters

Parameter Last type Context Last boot default Category
default_with_oids bool user off Version and Platform Compatibility / Previous PostgreSQL Versions

Method

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

10 - PostgreSQL 12 → 13 GUC diff

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

Fact. The measured inventory changes from 317 to 332 settings: 16 added, 3 boot-default changes, and 1 removed.

Added parameters

Parameter Type Context Boot default Category
autovacuum_vacuum_insert_scale_factor real sighup 0.2 Autovacuum
autovacuum_vacuum_insert_threshold integer sighup 1000 Autovacuum
backtrace_functions string superuser "" (empty string) Developer Options
enable_incremental_sort bool user on Query Tuning / Planner Method Configuration
hash_mem_multiplier real user 1 Resource Usage / Memory
ignore_invalid_pages bool postmaster off Developer Options
log_min_duration_sample integer superuser -1 ms Reporting and Logging / When to Log
log_parameter_max_length integer superuser -1 B Reporting and Logging / What to Log
log_parameter_max_length_on_error integer user 0 B Reporting and Logging / What to Log
log_statement_sample_rate real superuser 1 Reporting and Logging / When to Log
logical_decoding_work_mem integer user 65536 kB (64 MiB) Resource Usage / Memory
maintenance_io_concurrency integer user 10 Resource Usage / Asynchronous Behavior
max_slot_wal_keep_size integer sighup -1 MB Replication / Sending Servers
wal_keep_size integer sighup 0 MB (0 B) Replication / Sending Servers
wal_receiver_create_temp_slot bool sighup off Replication / Standby Servers
wal_skip_threshold integer user 2048 kB (2 MiB) Write-Ahead Log / Settings

Boot-default changes

Parameter PG12 PG13 Category
server_version 12.22 (Debian 12.22-1.pgdg120+1) 13.23 (Debian 13.23-1.pgdg13+1) Preset Options
server_version_num 120022 130023 Preset Options
ssl_min_protocol_version TLSv1 TLSv1.2 Connections and Authentication / SSL

Removed parameters

Parameter Last type Context Last boot default Category
wal_keep_segments integer sighup 0 Replication / Sending Servers

Method

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

11 - PostgreSQL 13 → 14 GUC diff

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

Fact. The measured inventory changes from 332 to 348 settings: 18 added, 5 boot-default changes, and 2 removed.

Added parameters

Parameter Type Context Boot default Category
client_connection_check_interval integer user 0 ms Connections and Authentication / Connection Settings
compute_query_id enum superuser auto Statistics / Monitoring
debug_discard_caches integer superuser 0 Developer Options
default_toast_compression enum user pglz Client Connection Defaults / Statement Behavior
enable_async_append bool user on Query Tuning / Planner Method Configuration
enable_memoize bool user on Query Tuning / Planner Method Configuration
huge_page_size integer postmaster 0 kB (0 B) Resource Usage / Memory
idle_session_timeout integer user 0 ms Client Connection Defaults / Statement Behavior
in_hot_standby bool internal off Preset Options
log_recovery_conflict_waits bool sighup off Reporting and Logging / What to Log
min_dynamic_shared_memory integer postmaster 0 MB (0 B) Resource Usage / Memory
output_plugin_libraries string superuser pgoutput, test_decoding Replication / Sending Servers
recovery_init_sync_method enum sighup fsync Error Handling
remove_temp_files_after_crash bool sighup on Developer Options
ssl_crl_dir string sighup "" (empty string) Connections and Authentication / SSL
track_wal_io_timing bool superuser off Statistics / Query and Index Statistics Collector
vacuum_failsafe_age integer user 1600000000 Client Connection Defaults / Statement Behavior
vacuum_multixact_failsafe_age integer user 1600000000 Client Connection Defaults / Statement Behavior

Boot-default changes

Parameter PG13 PG14 Category
checkpoint_completion_target 0.5 0.9 Write-Ahead Log / Checkpoints
password_encryption md5 scram-sha-256 Connections and Authentication / Authentication
server_version 13.23 (Debian 13.23-1.pgdg13+1) 14.24 (Debian 14.24-1.pgdg13+2) Preset Options
server_version_num 130023 140024 Preset Options
vacuum_cost_page_miss 10 2 Resource Usage / Cost-Based Vacuum Delay

Removed parameters

Parameter Last type Context Last boot default Category
operator_precedence_warning bool user off Version and Platform Compatibility / Previous PostgreSQL Versions
vacuum_cleanup_index_scale_factor real user 0.1 Client Connection Defaults / Statement Behavior

Method

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

12 - PostgreSQL 14 → 15 GUC diff

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

Fact. The measured inventory changes from 348 to 355 settings: 8 added, 6 boot-default changes, and 1 removed.

Added parameters

Parameter Type Context Boot default Category
archive_library string sighup "" (empty string) Write-Ahead Log / Archiving
log_startup_progress_interval integer sighup 10000 ms (10 s) Reporting and Logging / When to Log
recovery_prefetch enum sighup try Write-Ahead Log / Recovery
recursive_worktable_factor real user 10 Query Tuning / Other Planner Options
shared_memory_size integer internal 0 MB (0 B) Preset Options
shared_memory_size_in_huge_pages integer internal -1 Preset Options
stats_fetch_consistency enum user cache Statistics / Cumulative Query and Index Statistics
wal_decode_buffer_size integer postmaster 524288 B (512 KiB) Write-Ahead Log / Recovery

Boot-default changes

Parameter PG14 PG15 Category
hash_mem_multiplier 1 2 Resource Usage / Memory
log_autovacuum_min_duration -1 ms 600000 ms (10 min) Reporting and Logging / What to Log
log_checkpoints off on Reporting and Logging / What to Log
server_version 14.24 (Debian 14.24-1.pgdg13+2) 15.19 (Debian 15.19-1.pgdg13+2) Preset Options
server_version_num 140024 150019 Preset Options
shared_buffers 1024 8kB (8 MiB (1024 × 8kB)) 16384 8kB (128 MiB (16384 × 8kB)) Resource Usage / Memory

Removed parameters

Parameter Last type Context Last boot default Category
stats_temp_directory string sighup pg_stat_tmp Statistics / Query and Index Statistics Collector

Method

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

13 - 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.

14 - PostgreSQL 16 → 17 GUC diff

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

Fact. The measured inventory changes from 364 to 380 settings: 19 added, 3 boot-default changes, and 3 removed.

Added parameters

Parameter Type Context Boot default Category
allow_alter_system bool sighup on Version and Platform Compatibility / Other Platforms and Clients
commit_timestamp_buffers integer postmaster 0 8kB (0 B (0 × 8kB)) Resource Usage / Memory
enable_group_by_reordering bool user on Query Tuning / Planner Method Configuration
event_triggers bool superuser on Client Connection Defaults / Statement Behavior
huge_pages_status enum internal unknown Preset Options
io_combine_limit integer user 16 8kB (128 KiB (16 × 8kB)) Resource Usage / Asynchronous Behavior
max_notify_queue_pages integer postmaster 1048576 Resource Usage / Disk
multixact_member_buffers integer postmaster 32 8kB (256 KiB (32 × 8kB)) Resource Usage / Memory
multixact_offset_buffers integer postmaster 16 8kB (128 KiB (16 × 8kB)) Resource Usage / Memory
notify_buffers integer postmaster 16 8kB (128 KiB (16 × 8kB)) Resource Usage / Memory
serializable_buffers integer postmaster 32 8kB (256 KiB (32 × 8kB)) Resource Usage / Memory
subtransaction_buffers integer postmaster 0 8kB (0 B (0 × 8kB)) Resource Usage / Memory
summarize_wal bool sighup off Write-Ahead Log / Summarization
sync_replication_slots bool sighup off Replication / Standby Servers
synchronized_standby_slots string sighup "" (empty string) Replication / Primary Server
trace_connection_negotiation bool postmaster off Developer Options
transaction_buffers integer postmaster 0 8kB (0 B (0 × 8kB)) Resource Usage / Memory
transaction_timeout integer user 0 ms Client Connection Defaults / Statement Behavior
wal_summary_keep_time integer sighup 14400 min (10 d) Write-Ahead Log / Summarization

Boot-default changes

Parameter PG16 PG17 Category
server_version 16.15 (Debian 16.15-1.pgdg13+2) 17.11 (Debian 17.11-1.pgdg13+2) Preset Options
server_version_num 160015 170011 Preset Options
vacuum_buffer_usage_limit 256 kB (256 KiB) 2048 kB (2 MiB) Resource Usage / Memory

Removed parameters

Parameter Last type Context Last boot default Category
db_user_namespace bool sighup off Connections and Authentication / Authentication
old_snapshot_threshold integer postmaster -1 min Resource Usage / Asynchronous Behavior
trace_recovery_messages enum sighup log Developer Options

Method

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

15 - 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.

16 - PostgreSQL 18 → 19 Beta 3 GUC diff

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

Fact. The measured inventory changes from 399 to 419 settings: 22 added, 6 boot-default changes, and 2 removed.

Added parameters

Parameter Type Context Boot default Category
autovacuum_analyze_score_weight real sighup 1 Vacuuming / Automatic Vacuuming
autovacuum_freeze_score_weight real sighup 1 Vacuuming / Automatic Vacuuming
autovacuum_max_parallel_workers integer sighup 0 Vacuuming / Automatic Vacuuming
autovacuum_multixact_freeze_score_weight real sighup 1 Vacuuming / Automatic Vacuuming
autovacuum_vacuum_insert_score_weight real sighup 1 Vacuuming / Automatic Vacuuming
autovacuum_vacuum_score_weight real sighup 1 Vacuuming / Automatic Vacuuming
debug_exec_backend bool internal off Preset Options
debug_print_raw_parse bool user off Reporting and Logging / What to Log
effective_wal_level enum internal replica Preset Options
enable_eager_aggregate bool user on Query Tuning / Planner Method Configuration
hosts_file string postmaster — (not set) File Locations
io_max_workers integer sighup 8 Resource Usage / I/O
io_min_workers integer sighup 2 Resource Usage / I/O
io_worker_idle_timeout integer sighup 60000 ms (1 min) Resource Usage / I/O
io_worker_launch_interval integer sighup 100 ms Resource Usage / I/O
log_autoanalyze_min_duration integer sighup 600000 ms (10 min) Reporting and Logging / What to Log
max_repack_replication_slots integer postmaster 5 Replication / Sending Servers
min_eager_agg_group_size real user 8 Query Tuning / Planner Cost Constants
password_expiration_warning_threshold integer sighup 604800 s (7 d) Connections and Authentication / Authentication
ssl_sni bool sighup off Connections and Authentication / SSL
timing_clock_source enum superuser auto Resource Usage / Time
wal_sender_shutdown_timeout integer user -1 ms Replication / Sending Servers

Boot-default changes

Parameter PG18 PG19 Beta 3 Category
default_toast_compression pglz lz4 Client Connection Defaults / Statement Behavior
jit on off Query Tuning / Other Planner Options
log_lock_waits off on Reporting and Logging / What to Log
max_locks_per_transaction 64 128 Lock Management
server_version 18.6 (Debian 18.6-1.pgdg13+2) 19beta3 (Debian 19~beta3-1.pgdg13+1) Preset Options
server_version_num 180006 190000 Preset Options

Removed parameters

Parameter Last type Context Last boot default Category
escape_string_warning bool user on Version and Platform Compatibility / Previous PostgreSQL Versions
io_workers integer sighup 3 Resource Usage / I/O

Method

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