# Configuration Parameters

> Added, modified, removed, and default-value changes for configuration parameters.

---

LLMS index: [llms.txt](/en/llms.txt)

---

<div class="feature-source-note"><span class="feature-edition-badge">GA</span><span><strong>Source pages:</strong> PDF 61-65</span><span><a href="https://github.com/nori-shinoda/documents/blob/1773200c5362476c4a549222b7d17fa91f546cae/postgresql14_ga_new_features_en_20211001-1.pdf">Original PDF on GitHub</a></span></div>

<p class="feature-page-marker" id="pgfeat-14-configuration-pdf-page-61">PDF page 61</p>

In PostgreSQL 14 the following parameters have been changed.

#### 3.3.1 Added parameters {#pg14-3-3-1-added-parameters}

The following parameters have been added.

**Table 23.** Added parameters

| Parameter name | Description (context) | Default value |
| --- | --- | --- |
| client_connection_check_interval | The time interval between optional checks that the client is still connected. (user) | The time interval between optional checks that 0 |
| compute_query_id | Compute query identifiers. (superuser) | auto |
| debug_discard_caches | Aggressively invalidate system caches for debugging purposes. (superuser) | Aggressively invalidate system caches for 0 |
| default_toast_compression | Default compression for new columns. (user) | pglz |
| enable_async_append | Use of async append plans. (user) | on |
| enable_memoize | Enable Memoize node. (user) | on |
| huge_page_size | The size of huge page. (postmaster) | 0 |
| idle_session_timeout | The maximum allowed idle time. (user) | 0 |
| in_hot_standby | Shows whether hot standby is currently active. (internal) | Shows whether hot standby is currently active. off |
| log_recovery_conflict_waits | Logs standby recovery conflict waits. (sighup) | off |
| min_dynamic_shared_memory | Amount of dynamic shared memory reserved at startup. (postmaster) | Amount of dynamic shared memory reserved at 0 |
| recovery_init_sync_method | Sets the method for synchronizing the data directory before crash recovery. (sighup) | Sets the method for synchronizing the data fsync |
| remove_temp_files_after_crash | Remove temporary files after backend crash. (sighup) | Remove temporary files after backend crash. on |
| ssl_crl_dir | Location of the SSL certificate revocation list directory. (sighup) | Location of the SSL certificate revocation list '' |
| track_wal_io_timing | Collects timing statistics for WAL I/O activity. (superuser) | Collects timing statistics for WAL I/O activity. off |
| vacuum_failsafe_age | Age at which VACUUM should trigger failsafe. (user) | Age at which VACUUM should trigger failsafe. 1600000000 |
| vacuum_multixact_failsafe_age | Multixact age at which VACUUM should trigger failsafe. (user) | Multixact age at which VACUUM should trigger 1600000000 |

<p class="feature-page-marker" id="pgfeat-14-configuration-pdf-page-62">PDF page 62</p>

##### Compute_query_id {#pg14-p62-compute-query-id}

If the parameter value is set to on, a unique ID will be calculated for the query being executed. The query ID will be the same value for all SQLs that have the same meaning in the database. The query ID can be displayed by EXPLAIN VERBOSE statement, queryid column in pg_stat_activity view, %Q in log_line_prefix parameter, and so on. This is an adaptation of the functionality previously used by the pg_stat_statements module. The default value is 'auto', which is automatically enabled if modules such as pg_stat_statements require this parameter.

**Example 73.** Display query ID

```text
postgres=# SET compute_query_id = on ;
SET
postgres=# EXPLAIN VERBOSE SELECT * FROM data1 ;
                              QUERY PLAN
-----------------------------------------------------------------
 Seq Scan on public.data1  (cost=0.00..15406.00 rows=1000000
width=12)
   Output: c1, c2
 Query Identifier: 3365166609774651210
(3 rows)
```

##### Idle_session_timeout {#pg14-p62-idle-session-timeout}

Specifies the timeout value in milliseconds for forcibly terminating idle sessions. The default value is 0, which means that no timeout will occur. During transaction execution, idle_in_transaction_session_timeout is used and idle_session_timeout is ignored.

<p class="feature-page-marker" id="pgfeat-14-configuration-pdf-page-63">PDF page 63</p>

**Example 74.** Idle timeout

```text
postgres=> \set VERBOSITY verbose
postgres=> SET idle_session_timeout = 1000 ;
SET
postgres=> -- Wait one second.
postgres=> SELECT 1 ;
FATAL:  57P05: terminating connection due to idle-session timeout
LOCATION:  ProcessInterrupts, postgres.c:3356
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.
postgres=>
```

##### Log_recovery_conflict_waits {#pg14-p63-log-recovery-conflict-waits}

In an environment where the log_recovery_conflict_waits parameter is enabled on the standby instance, conflict information is output to the log when a conflict occurs when deadlock_timeout is exceeded. Also, if the conflict is resolved, it will be output to the log. The following is the output conflict information.

**Example 75.** Log of conflict state

```text
-- When conflict occurs
LOG:  recovery still waiting after 1031.776 ms: recovery conflict
on snapshot
DETAIL:  Conflicting process: 53647.
 [49948] CONTEXT:  WAL redo at 1/8ECE0138 for Heap2/PRUNE:
latestRemovedXid 895 nredirected 0 ndead 167; blkref #0: rel
1663/14892/17264, blk 108
-- When conflict is resolved
LOG:  recovery finished waiting after 26073.257 ms: recovery
conflict on snapshot
CONTEXT:  WAL redo at 1/8ECE0138 for Heap2/PRUNE: latestRemovedXid
895 nredirected 0 ndead 167; blkref #0: rel 1663/14892/17264, blk
108
```

<p class="feature-page-marker" id="pgfeat-14-configuration-pdf-page-64">PDF page 64</p>

##### Remove_temp_files_after_crash {#pg14-p64-remove-temp-files-after-crash}

Determines whether to remove the temporary files that were created when the backend process terminated abnormally. Conventionally, these files are not removed until the instance is restarted. The default value is 'on', which means that the temporary files will be deleted if the backend process terminates abnormally.

#### 3.3.2 Changed parameters {#pg14-3-3-2-changed-parameters}

The setting range and options were changed for the following configuration parameters.

**Table 24.** Changed parameters

| Parameter name | Changes |
| --- | --- |
| log_line_prefix | Added %P to indicate the process ID of the parallel group leader. Added %Q to indicate query ID. |
| password_encryption | The set value on/true/1 has been removed. |
| restore_command | Dynamic changes are now possible by reloading the parameter file. |
| unix_socket_directories | Abstract namespaces starting with @ can now be specified. |

#### 3.3.3 Removed parameters {#pg14-3-3-3-removed-parameters}

The following parameters have been removed. The parameter vacuum_cleanup_index_scale_factor is disabled since PostgreSQL 13.3.

**Table 25.** Removed parameters

| Parameter name | Reason |
| --- | --- |
| operator_precedence_warning | It was deemed unnecessary as PostgreSQL 9.4 and earlier are no longer supported. |
| vacuum_cleanup_index_scale_factor | It can be specified in the index to maintain compatibility, but it has no effect. |

<p class="feature-page-marker" id="pgfeat-14-configuration-pdf-page-65">PDF page 65</p>

#### 3.3.4 Parameters with default values changed {#pg14-3-3-4-parameters-with-default-values-changed}

The following parameters have changed default values.

**Table 26.** Parameters with default values changed

| Parameter name | PostgreSQL 13 | PostgreSQL 14 | Note |
| --- | --- | --- | --- |
| checkpoint_completion_target | 0.5 | 0.9 |  |
| password_encryptionserver_version | md5 | scram-sha-256 |  |
|  | 13.4 | 14.0 |  |
| server_version_num | 130004 | 140000 |  |
| vacuum_cost_page_miss | 10 | 2 |  |
