# 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 {#added}

| Parameter | Type | Context | Boot default | Category |
| --- | --- | --- | --- | --- |
| [`allow_alter_system`](/parameters/allow-alter-system/) | `bool` | `sighup` | `on` | Version and Platform Compatibility / Other Platforms and Clients |
| [`commit_timestamp_buffers`](/parameters/commit-timestamp-buffers/) | `integer` | `postmaster` | `0 8kB` (0 B (0 × 8kB)) | Resource Usage / Memory |
| [`enable_group_by_reordering`](/parameters/enable-group-by-reordering/) | `bool` | `user` | `on` | Query Tuning / Planner Method Configuration |
| [`event_triggers`](/parameters/event-triggers/) | `bool` | `superuser` | `on` | Client Connection Defaults / Statement Behavior |
| [`huge_pages_status`](/parameters/huge-pages-status/) | `enum` | `internal` | `unknown` | Preset Options |
| [`io_combine_limit`](/parameters/io-combine-limit/) | `integer` | `user` | `16 8kB` (128 KiB (16 × 8kB)) | Resource Usage / Asynchronous Behavior |
| [`max_notify_queue_pages`](/parameters/max-notify-queue-pages/) | `integer` | `postmaster` | `1048576` | Resource Usage / Disk |
| [`multixact_member_buffers`](/parameters/multixact-member-buffers/) | `integer` | `postmaster` | `32 8kB` (256 KiB (32 × 8kB)) | Resource Usage / Memory |
| [`multixact_offset_buffers`](/parameters/multixact-offset-buffers/) | `integer` | `postmaster` | `16 8kB` (128 KiB (16 × 8kB)) | Resource Usage / Memory |
| [`notify_buffers`](/parameters/notify-buffers/) | `integer` | `postmaster` | `16 8kB` (128 KiB (16 × 8kB)) | Resource Usage / Memory |
| [`serializable_buffers`](/parameters/serializable-buffers/) | `integer` | `postmaster` | `32 8kB` (256 KiB (32 × 8kB)) | Resource Usage / Memory |
| [`subtransaction_buffers`](/parameters/subtransaction-buffers/) | `integer` | `postmaster` | `0 8kB` (0 B (0 × 8kB)) | Resource Usage / Memory |
| [`summarize_wal`](/parameters/summarize-wal/) | `bool` | `sighup` | `off` | Write-Ahead Log / Summarization |
| [`sync_replication_slots`](/parameters/sync-replication-slots/) | `bool` | `sighup` | `off` | Replication / Standby Servers |
| [`synchronized_standby_slots`](/parameters/synchronized-standby-slots/) | `string` | `sighup` | `""` (empty string) | Replication / Primary Server |
| [`trace_connection_negotiation`](/parameters/trace-connection-negotiation/) | `bool` | `postmaster` | `off` | Developer Options |
| [`transaction_buffers`](/parameters/transaction-buffers/) | `integer` | `postmaster` | `0 8kB` (0 B (0 × 8kB)) | Resource Usage / Memory |
| [`transaction_timeout`](/parameters/transaction-timeout/) | `integer` | `user` | `0 ms` | Client Connection Defaults / Statement Behavior |
| [`wal_summary_keep_time`](/parameters/wal-summary-keep-time/) | `integer` | `sighup` | `14400 min` (10 d) | Write-Ahead Log / Summarization |
{.full-width}

## Boot-default changes {#default-changes}

| Parameter | PG16 | PG17 | Category |
| --- | --- | --- | --- |
| [`server_version`](/parameters/server-version/) | `16.15 (Debian 16.15-1.pgdg13+2)` | `17.11 (Debian 17.11-1.pgdg13+2)` | Preset Options |
| [`server_version_num`](/parameters/server-version-num/) | `160015` | `170011` | Preset Options |
| [`vacuum_buffer_usage_limit`](/parameters/vacuum-buffer-usage-limit/) | `256 kB` (256 KiB) | `2048 kB` (2 MiB) | Resource Usage / Memory |
{.full-width}

## Removed parameters {#removed}

| Parameter | Last type | Context | Last boot default | Category |
| --- | --- | --- | --- | --- |
| [`db_user_namespace`](/parameters/db-user-namespace/) | `bool` | `sighup` | `off` | Connections and Authentication / Authentication |
| [`old_snapshot_threshold`](/parameters/old-snapshot-threshold/) | `integer` | `postmaster` | `-1 min` | Resource Usage / Asynchronous Behavior |
| [`trace_recovery_messages`](/parameters/trace-recovery-messages/) | `enum` | `sighup` | `log` | Developer Options |
{.full-width}

## Method {#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.

- [Machine-readable diff data](/data/diffs.json)
- [Complete GUC JSONL](/data/guc.jsonl)
