# PostgreSQL 11 → 12 GUC 差异

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

> [!NOTE]
> **Fact。** 实测在档数从 292 变为 317；新增 26、boot 默认值变化 6、移除 1。

## 新增参数 {#added}

| 参数 | 类型 | Context | Boot 默认值 | 分类 |
| --- | --- | --- | --- | --- |
| [`archive_cleanup_command`](/zh/parameters/archive-cleanup-command/) | `string` | `sighup` | `""` (empty string) | Write-Ahead Log / Archive Recovery |
| [`default_table_access_method`](/zh/parameters/default-table-access-method/) | `string` | `user` | `heap` | Client Connection Defaults / Statement Behavior |
| [`log_transaction_sample_rate`](/zh/parameters/log-transaction-sample-rate/) | `real` | `superuser` | `0` | Reporting and Logging / When to Log |
| [`plan_cache_mode`](/zh/parameters/plan-cache-mode/) | `enum` | `user` | `auto` | Query Tuning / Other Planner Options |
| [`primary_conninfo`](/zh/parameters/primary-conninfo/) | `string` | `postmaster` | `""` (empty string) | Replication / Standby Servers |
| [`primary_slot_name`](/zh/parameters/primary-slot-name/) | `string` | `postmaster` | `""` (empty string) | Replication / Standby Servers |
| [`promote_trigger_file`](/zh/parameters/promote-trigger-file/) | `string` | `sighup` | `""` (empty string) | Replication / Standby Servers |
| [`recovery_end_command`](/zh/parameters/recovery-end-command/) | `string` | `sighup` | `""` (empty string) | Write-Ahead Log / Archive Recovery |
| [`recovery_min_apply_delay`](/zh/parameters/recovery-min-apply-delay/) | `integer` | `sighup` | `0 ms` | Replication / Standby Servers |
| [`recovery_target`](/zh/parameters/recovery-target/) | `string` | `postmaster` | `""` (empty string) | Write-Ahead Log / Recovery Target |
| [`recovery_target_action`](/zh/parameters/recovery-target-action/) | `enum` | `postmaster` | `pause` | Write-Ahead Log / Recovery Target |
| [`recovery_target_inclusive`](/zh/parameters/recovery-target-inclusive/) | `bool` | `postmaster` | `on` | Write-Ahead Log / Recovery Target |
| [`recovery_target_lsn`](/zh/parameters/recovery-target-lsn/) | `string` | `postmaster` | `""` (empty string) | Write-Ahead Log / Recovery Target |
| [`recovery_target_name`](/zh/parameters/recovery-target-name/) | `string` | `postmaster` | `""` (empty string) | Write-Ahead Log / Recovery Target |
| [`recovery_target_time`](/zh/parameters/recovery-target-time/) | `string` | `postmaster` | `""` (empty string) | Write-Ahead Log / Recovery Target |
| [`recovery_target_timeline`](/zh/parameters/recovery-target-timeline/) | `string` | `postmaster` | `latest` | Write-Ahead Log / Recovery Target |
| [`recovery_target_xid`](/zh/parameters/recovery-target-xid/) | `string` | `postmaster` | `""` (empty string) | Write-Ahead Log / Recovery Target |
| [`restore_command`](/zh/parameters/restore-command/) | `string` | `postmaster` | `""` (empty string) | Write-Ahead Log / Archive Recovery |
| [`restrict_nonsystem_relation_kind`](/zh/parameters/restrict-nonsystem-relation-kind/) | `string` | `user` | `""` (empty string) | Client Connection Defaults / Statement Behavior |
| [`shared_memory_type`](/zh/parameters/shared-memory-type/) | `enum` | `postmaster` | `mmap` | Resource Usage / Memory |
| [`ssl_library`](/zh/parameters/ssl-library/) | `string` | `internal` | `OpenSSL` | Preset Options |
| [`ssl_max_protocol_version`](/zh/parameters/ssl-max-protocol-version/) | `enum` | `sighup` | `""` (empty string) | Connections and Authentication / SSL |
| [`ssl_min_protocol_version`](/zh/parameters/ssl-min-protocol-version/) | `enum` | `sighup` | `TLSv1` | Connections and Authentication / SSL |
| [`tcp_user_timeout`](/zh/parameters/tcp-user-timeout/) | `integer` | `user` | `0 ms` | Client Connection Defaults / Other Defaults |
| [`wal_init_zero`](/zh/parameters/wal-init-zero/) | `bool` | `superuser` | `on` | Write-Ahead Log / Settings |
| [`wal_recycle`](/zh/parameters/wal-recycle/) | `bool` | `superuser` | `on` | Write-Ahead Log / Settings |
{.full-width}

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

| 参数 | PG11 | PG12 | 分类 |
| --- | --- | --- | --- |
| [`autovacuum_vacuum_cost_delay`](/zh/parameters/autovacuum-vacuum-cost-delay/) | `20 ms` | `2 ms` | Autovacuum |
| [`extra_float_digits`](/zh/parameters/extra-float-digits/) | `0` | `1` | Client Connection Defaults / Locale and Formatting |
| [`jit`](/zh/parameters/jit/) | `off` | `on` | Query Tuning / Other Planner Options |
| [`server_version`](/zh/parameters/server-version/) | `11.22 (Debian 11.22-1.pgdg120+1)` | `12.22 (Debian 12.22-1.pgdg120+1)` | Preset Options |
| [`server_version_num`](/zh/parameters/server-version-num/) | `110022` | `120022` | Preset Options |
| [`transaction_isolation`](/zh/parameters/transaction-isolation/) | `default` | `read committed` | Client Connection Defaults / Statement Behavior |
{.full-width}

## 移除参数 {#removed}

| 参数 | 最后类型 | Context | 最后 Boot 默认值 | 分类 |
| --- | --- | --- | --- | --- |
| [`default_with_oids`](/zh/parameters/default-with-oids/) | `bool` | `user` | `off` | Version and Platform Compatibility / Previous PostgreSQL Versions |
{.full-width}

## 计算方法 {#method}

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

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