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

| Parameter | Type | Context | Boot default | Category |
| --- | --- | --- | --- | --- |
| [`backend_flush_after`](/parameters/backend-flush-after/) | `integer` | `user` | `0 8kB` (0 B (0 × 8kB)) | Resource Usage / Asynchronous Behavior |
| [`bgwriter_flush_after`](/parameters/bgwriter-flush-after/) | `integer` | `sighup` | `64 8kB` (512 KiB (64 × 8kB)) | Resource Usage / Background Writer |
| [`checkpoint_flush_after`](/parameters/checkpoint-flush-after/) | `integer` | `sighup` | `32 8kB` (256 KiB (32 × 8kB)) | Write-Ahead Log / Checkpoints |
| [`force_parallel_mode`](/parameters/force-parallel-mode/) | `enum` | `user` | `off` | Query Tuning / Other Planner Options |
| [`idle_in_transaction_session_timeout`](/parameters/idle-in-transaction-session-timeout/) | `integer` | `user` | `0 ms` | Client Connection Defaults / Statement Behavior |
| [`max_parallel_workers_per_gather`](/parameters/max-parallel-workers-per-gather/) | `integer` | `user` | `0` | Resource Usage / Asynchronous Behavior |
| [`min_parallel_relation_size`](/parameters/min-parallel-relation-size/) | `integer` | `user` | `1024 8kB` (8 MiB (1024 × 8kB)) | Query Tuning / Planner Cost Constants |
| [`old_snapshot_threshold`](/parameters/old-snapshot-threshold/) | `integer` | `postmaster` | `-1 min` | Resource Usage / Asynchronous Behavior |
| [`parallel_setup_cost`](/parameters/parallel-setup-cost/) | `real` | `user` | `1000` | Query Tuning / Planner Cost Constants |
| [`parallel_tuple_cost`](/parameters/parallel-tuple-cost/) | `real` | `user` | `0.1` | Query Tuning / Planner Cost Constants |
| [`replacement_sort_tuples`](/parameters/replacement-sort-tuples/) | `integer` | `user` | `150000` | Resource Usage / Memory |
| [`syslog_sequence_numbers`](/parameters/syslog-sequence-numbers/) | `bool` | `sighup` | `on` | Reporting and Logging / Where to Log |
| [`syslog_split_messages`](/parameters/syslog-split-messages/) | `bool` | `sighup` | `on` | Reporting and Logging / Where to Log |
| [`wal_writer_flush_after`](/parameters/wal-writer-flush-after/) | `integer` | `sighup` | `128 8kB` (1 MiB (128 × 8kB)) | Write-Ahead Log / Settings |
{.full-width}

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

| Parameter | PG9.5 | PG9.6 | Category |
| --- | --- | --- | --- |
| [`server_version`](/parameters/server-version/) | `9.5.25` | `9.6.24` | Preset Options |
| [`server_version_num`](/parameters/server-version-num/) | `90525` | `90624` | Preset Options |
{.full-width}

## Removed parameters {#removed}

| Parameter | Last type | Context | Last boot default | Category |
| --- | --- | --- | --- | --- |
| — | — | — | — | — |
{.full-width}

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

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