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

| Parameter | Type | Context | Boot default | Category |
| --- | --- | --- | --- | --- |
| [`autovacuum_work_mem`](/parameters/autovacuum-work-mem/) | `integer` | `sighup` | `-1 kB` | Resource Usage / Memory |
| [`data_sync_retry`](/parameters/data-sync-retry/) | `bool` | `postmaster` | `off` | Error Handling |
| [`dynamic_shared_memory_type`](/parameters/dynamic-shared-memory-type/) | `enum` | `postmaster` | `posix` | Resource Usage / Memory |
| [`huge_pages`](/parameters/huge-pages/) | `enum` | `postmaster` | `try` | Resource Usage / Memory |
| [`max_replication_slots`](/parameters/max-replication-slots/) | `integer` | `postmaster` | `0` | Replication / Sending Servers |
| [`max_worker_processes`](/parameters/max-worker-processes/) | `integer` | `postmaster` | `8` | Resource Usage / Asynchronous Behavior |
| [`session_preload_libraries`](/parameters/session-preload-libraries/) | `string` | `superuser` | `""` (empty string) | Client Connection Defaults / Shared Library Preloading |
| [`ssl_ecdh_curve`](/parameters/ssl-ecdh-curve/) | `string` | `postmaster` | `prime256v1` | Connections and Authentication / Security and Authentication |
| [`ssl_prefer_server_ciphers`](/parameters/ssl-prefer-server-ciphers/) | `bool` | `postmaster` | `on` | Connections and Authentication / Security and Authentication |
| [`wal_log_hints`](/parameters/wal-log-hints/) | `bool` | `postmaster` | `off` | Write-Ahead Log / Settings |
{.full-width}

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

| Parameter | PG9.3 | PG9.4 | Category |
| --- | --- | --- | --- |
| [`effective_cache_size`](/parameters/effective-cache-size/) | `16384 8kB` (128 MiB (16384 × 8kB)) | `524288 8kB` (4 GiB (524288 × 8kB)) | Query Tuning / Planner Cost Constants |
| [`maintenance_work_mem`](/parameters/maintenance-work-mem/) | `16384 kB` (16 MiB) | `65536 kB` (64 MiB) | Resource Usage / Memory |
| [`server_version`](/parameters/server-version/) | `9.3.25` | `9.4.26` | Preset Options |
| [`server_version_num`](/parameters/server-version-num/) | `90325` | `90426` | Preset Options |
| [`ssl_ciphers`](/parameters/ssl-ciphers/) | `DEFAULT:!LOW:!EXP:!MD5:@STRENGTH` | `HIGH:MEDIUM:+3DES:!aNULL` | Connections and Authentication / Security and Authentication |
| [`work_mem`](/parameters/work-mem/) | `1024 kB` (1 MiB) | `4096 kB` (4 MiB) | Resource Usage / Memory |
{.full-width}

## Removed parameters {#removed}

| Parameter | Last type | Context | Last boot default | Category |
| --- | --- | --- | --- | --- |
| [`krb_srvname`](/parameters/krb-srvname/) | `string` | `sighup` | `postgres` | Connections and Authentication / Security and Authentication |
{.full-width}

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

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