# 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 70-74</span><span><a href="https://github.com/nori-shinoda/documents/blob/1773200c5362476c4a549222b7d17fa91f546cae/postgresql18_ga_new_features_en_20260219-1.pdf">Original PDF on GitHub</a></span></div>

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

In PostgreSQL 18, the following parameters have been changed.

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

The following parameters have been added. [[0dcaea5](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=0dcaea56903489e8abedf231f286272495c3beb4), [db6a4a9](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=db6a4a985bc09d260d5c29848e3c97f080646a53), [c758119](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c758119e5bfb47b38cf957f9a5a37ceae96fa9b3), [a8ccf4e](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a8ccf4e93a7eeaae66007bbf78cf9183ceb1b371), [306dc52](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=306dc520b9dfd6014613961962a89940a431a069), [052026c](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=052026c9b903380b428a4c9ba2ec90726db81288), [bb8dff9](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=bb8dff9995f2cf501376772898bcbcf58aa05cde), [45188c2](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=45188c2ea2391b7b24039e1632c726e2fc6b8008), [3d1ef3a](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3d1ef3a15c3eb68dae44b94e89d04c422b26fc16), [fc069a3](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=fc069a3a6319b5bf40d2f0f1efceae1c9b7a68a8), [ac0e331](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=ac0e33136abc4668c9b08e1ba7db69afe1e0e2c3), [b3f0be7](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=b3f0be788afc17d2206e1ae1c731d8aeda1f2f59), [6c349d8](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=6c349d83b607cfe20a685a5f66a4fa0e24dbe458), [6d376c3](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=6d376c3b0d1e79c318d2a1c04097025784e28377), [0284401](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=02844012b304ba80d1c48d51f6fe10bb622490cc), [4f7f7b0](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4f7f7b0375854e2f89876473405a8f21c95012af), [10f6646](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=10f6646847515b1ab02735c24b04abaf1996f65f), [0164a0f](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=0164a0f9ee12e0eff9e4c661358a272ecd65c2d4), [247ce06](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=247ce06b883d7b3a40d08312dc03dfb37fbff212), [55b454d](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=55b454d0e14084c841a034073abbf1a0ea937a45), [62d712e](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=62d712ecfd940f60e68bde5b6972b6859937c412), [9fbd53d](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=9fbd53dea5d513a78ca04834101ca1aa73b63e59), [f78ca6f](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f78ca6f3ebbbff8c675c34b8ee61047223073866), [73bdcfa](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=73bdcfab35ec0a7eff1a5dd630cbad8e77054547), [05dedf4](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=05dedf43d380edc98546c381e76a9d907fd19bed)]

**Table 20.** Added parameters

| Parameter name | Description (context) | Default value |
| --- | --- | --- |
| autovacuum_worker_slots | Maximum number of autovacuum max workers settings__ (postmaster) | 16 |
| autovacuum_vacuum_max_threshold | Maximum number of tuples required to trigger VACUUM on a table (sighup) | 100000000 |
| enable_distinct_reordering | Whether to use column reordering optimization specified in the DISTINCT clause (user) | on |
| enable_self_join_elimination | Enable self-join optimization feature (user) | on |
| extension_control_path | Extended control file path (superuser) | $system |
| file_copy_method | Specify how files are copied (user) | copy |
| idle_replication_slot_timeout | Number of idle seconds to disable replication slots (sighup) | 0 |
| io_max_combine_limit | Maximum value for io_combine_limit (postmaster) | 16 |
| io_max_concurrency | Maximum number of simultaneous I/Os a single process can perform (postmaster) | 64 |
| io_method | Asynchronous I/O execution method (postmaster) | worker |
| io_workers | Number of IO worker processes （sighup） | 3 |
| log_lock_failures | （sighup） Log output when lock fails (superuser) | off |
| max_active_replication_origins | Maximum number of replication origins | 10 |
|  | Maximum number of replication origins | 10 |
| md5_password_warnings | Output warning when generating MD5 passwords (user) | on |
| num_os_semaphores | Number of semaphores required to run the server (internal) | 計算値 |
| oauth_validator_libraries | Library used to validate OAuth connection tokens (sighup) | '' |
| ssl_groups | Curve name used for EDCH key exchange | X25519:prime2 |
|  | (sighup) | 56v1 |
| ssl_tls13_ciphers | List of cipher suites that can be used for connections with TLS version 1.3 (sighup) | '' |
| track_cost_delay_timing | Cost-based VACUUM delay tracking (superuser) | off |
| vacuum_max_eager_freeze_failure_rate | Percentage of pages where VACUUM disables EAGER scans (user) | 0.03 |
| vacuum_truncate | Enables vacuum to truncate empty pages at the end of the table (user) | on |

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

##### Maximum number of autovacuum worker processes {#pg18-p71-maximum-number-of-autovacuum-worker-processes}

The autovacuum_max_workers parameter can now be changed dynamically by executing the pg_reload_conf function. The parameter autovacuum_worker_slots (default 16) has been added to indicate the upper limit for dynamic changes. autovacuum_max_workers parameter setting can be larger than autovacuum_worker_slots, but the autovacuum_max_workers parameter setting will not be changed. but it will not launch more worker processes than autovacuum_worker_slots. [[c758119](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c758119e5bfb47b38cf957f9a5a37ceae96fa9b3), [6d01541](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=6d01541960e2a42c92ef67be9a1c4842cd4458d6)]

**Example 99.** Automatic VACUUM worker limit

```text
postgres=# SELECT name, setting, context FROM pg_settings WHERE name
LIKE 'autovacuum%worker%' ;
          name           | setting |  context
-------------------------+---------+------------
 autovacuum_max_workers  | 3       | sighup
 autovacuum_worker_slots | 16      | postmaster
(2 rows)
```

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

#### 3.3.2 Modified Parameters {#pg18-3-3-2-modified-parameters}

The following parameters have been changed in terms of setting range and choices. [[d0c2860](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=d0c28601efaa8b04f11a19506f3371bba8438acc), [e48b19c](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=e48b19c5db3185e1868391176fc040df08a149fb), [7c3fb50](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=7c3fb505b14e86581b6a052075a294c78c91b123), [c758119](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c758119e5bfb47b38cf957f9a5a37ceae96fa9b3), [d4c3a6b](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=d4c3a6b8ad830882066122081a7141ecd573f45d), [9219093](http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=9219093cab2607f34ac70612a65430a9c519157f), [3516ea7](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3516ea768c92ad0abc16dc4dd97e5eef6eab4237)]

**Table 21.** Modified Parameters

| Parameter name | Change |
| --- | --- |
| autovacuum_max_workers | Changed to dynamically updatable (context=sighup) |
| log_rotation_size | Upper limit changed to 2,147,483,647 |
| log_connections | Changed to string type from boolean type |
| log_line_prefix | Escape %L indicating local IP address can be used |
| max_files_per_process | Exclude the number of files inherited by the backend |
| ssl_groups | Changed name from ssl_ecdh_curve |

##### Parameter log_connections is changed {#pg18-p72-parameter-log-connections-is-changed}

The parameter log_connections has been changed from a boolean type to a text type, allowing multiple settings of log output to be comma-separated. [[9219093](http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=9219093cab2607f34ac70612a65430a9c519157f), [18cd15e](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=18cd15e706ac1f2d6b1c49847a82774ca143352f)]

**Table 22.** Setting value of parameter log\_connections

| Setting value | Output contents |
| --- | --- |
| '' | No logging (default value) |
| receipt | Log when a connection is received |
| authentication | Log the ID that identifies the user |
| authorization | Log the completion of authentication |
| setup_durations | Log the time between when the connection is made and when the first query is ready to be executed |
| all | Same as receipt,authentication,authorization,setup_durations |

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

**Example 100.** Log output by setting log\_connections parameter

```bash
# receipt log
LOG:  connection received: host=192.168.1.123 port=37374
# authentication log (Success)
LOG:
connection
authenticated:
identity="demo"
method=scram-sha-256
(/data/pg_hba.conf:119)
# authentication log (Failure)
FATAL:  password authentication failed for user "demo"
DETAIL:  Connection matched file "/data/pg_hba.conf" line 119: "host    all
all             192.168.1.0/24           scram-sha-256"
# authorization log (Success)
LOG:  connection authorized: user=demo database=postgres application_name=psql
# authorization log (Failure)
FATAL:  password authentication failed for user "demo"
DETAIL:  Connection matched file "/data/pg_hba.conf" line 119: "host    all
all             192.168.1.0/24           scram-sha-256"
# setup_durations log (Success)
LOG:
connection
ready:
setup
total=9.915
ms,
fork=0.248
ms,
authentication=6.329 ms
# setup_durations log (Failure)
FATAL:  password authentication failed for user "demo"
DETAIL:  Connection matched file " /data/pg_hba.conf" line 119: "host    all
all             192.168.1.0/24           scram-sha-256"
```

```text
The previous settings of true/false, on/off, and 0/1 can also be set for compatibility purposes. true,0,on
settings are the same as “receipt,authentication,authorization”.
```

#### 3.3.3 Parameters with default values changed {#pg18-3-3-3-parameters-with-default-values-changed}

The following parameters have changed default values. [[98f320e](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=98f320eb2ef05072b6fe67fcdcdc26c226e6cea4), [9219093](http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=9219093cab2607f34ac70612a65430a9c519157f), [ff79b5b](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=ff79b5b2aba02d720f9b7fff644dd50ce07b8c6e), [cc6be07](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=cc6be07ebde2aef7cc0507f997f563ce77c00a00), [daa02c6](https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=daa02c6bd9262adeb44f4a9ed9d94fa6259afd94)]

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

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

| Parameter name | PostgreSQL 17 | PostgreSQL 18 | Note |
| --- | --- | --- | --- |
| server_version | 17.5 | 18.0 |  |
| server_version_numdata_checksums | 170005 | 180000 |  |
|  | off | on |  |
| log_connections | off | '' |  |
| effective_io_concurrency | 1 | 16 |  |
| maintenance_io_concurrencyssl_groups | 10 | 16 |  |
|  | prime256v1 | X25519:prime256v1 Parameter | X25519:prime256v1 Parameter name change |
