# PostgreSQL 16 → 17 GUC 差异

> PG16 与 PG17 之间新增、boot 默认值变化和移除的核心配置参数。
---

> [!NOTE]
> **Fact。** 实测在档数从 364 变为 380；新增 19、boot 默认值变化 3、移除 3。

## 新增参数 {#added}

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

## Boot 默认值变化 {#default-changes}

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

## 移除参数 {#removed}

| 参数 | 最后类型 | Context | 最后 Boot 默认值 | 分类 |
| --- | --- | --- | --- | --- |
| [`db_user_namespace`](/zh/parameters/db-user-namespace/) | `bool` | `sighup` | `off` | Connections and Authentication / Authentication |
| [`old_snapshot_threshold`](/zh/parameters/old-snapshot-threshold/) | `integer` | `postmaster` | `-1 min` | Resource Usage / Asynchronous Behavior |
| [`trace_recovery_messages`](/zh/parameters/trace-recovery-messages/) | `enum` | `sighup` | `log` | Developer Options |
{.full-width}

## 计算方法 {#method}

三张清单直接比较固定环境中的 PG16 与 PG17 `pg_settings` 快照。默认值变化使用 `boot_val` 与 `unit` 的组合；`setting` 不参与判定，以免把 `initdb` 生成值误当作编译时默认值。

- [机器可读差异数据](/data/diffs.json)
- [完整 GUC JSONL](/data/guc.jsonl)
