Skip to content

5 Configuration Parameters

Added, modified, removed, and default-value changes for configuration parameters.
GASource pages: PDF 52-55Original PDF on GitHub

PDF page 52

In PostgreSQL 15 the following parameters have been changed.

3.3.1 Added parameters

The following parameters have been added.

Parameter nameDescription (context)Default value
allow_in_place_tablespacesDeveloper parameters to create a tablespace in the pg_tblspc directory (superuser)off
archive_libraryWAL archive library name (sighup)-
log_startup_progress_intervalTime before startup process outputs log if the long-running process occurs (sighup)10s
recovery_prefetchWhether WAL prefetching is performed during recovery (sighup)try
recursive_worktable_factorMultiplier to determine work table size for recursive queries (user)10
shared_memory_sizeThe calculated size of main shared memory (internal)-
shared_memory_size_in_huge_pagesNumber of Huge Pages pages used for shared memory (internal)-
stats_fetch_consistencyDetermines the behavior when cumulative statistics are accessed multiple times (user)cache
wal_decode_buffer_sizeBuffer size for WAL decoding (postmaster)512kB
Table 17 Added parameters
allow_in_place_tablespaces

Tablespaces can be created in a database cluster by setting this parameter to on and specifying an empty string (’’) in the LOCATION clause of the CREATE TABLESPACE statement.

PDF page 53

Example 64 Create In place tablespace
postgres=# SET allow_in_place_tablespaces = on ;
SET
postgres=# CREATE TABLESPACE ts1 LOCATION '' ;
CREATE TABLESPACE
postgres=# \! ls -l data/pg_tblspc/
total 0
drwx------. 3 postgres 29 Oct 14 14:16 17153

3.3.2 Modified Parameters

The following parameters have been changed in terms of setting range and choices.

Parameter nameChanges
compute_query_idRegress can now be specified as a configuration value. This is used to facilitate regression testing.
dynamic_shared_memory_type The default value on Solaris has changed to “sysv”.dynamic_shared_memory_type The default value on Solaris has changed to “sysv”.
log_destinationJsonlog can now be specified as a configuration value to output logs in JSON format. This change will also be backported to PostgreSQL 14.3 and later.
wal_compressionPglz, lz4, and zstd compression methods can now be specified. The configuration value on is assumed to be pglz.
shared_preload_librariesNow also processed in single user mode.
Table 18 Modified Parameters
JSON format log file

If jsonlog is specified for the parameter log_destination, the log file will be output in JSON format. The file extension is .json. A file with a .log extension is also created that outputs only some information.

PDF page 54

Example 65 JSON format log file
postgres=> SHOW log_destination ;
 log_destination
-----------------
 jsonlog
(1 row)
postgres=> \! cat postgresql-2022-10-14_141810.json
"timestamp":"2022-10-14
14:18:10.657
JST","pid":14876,"session_id":"6348f112.3a1c","line_num":1,"session_start":"20
22-10-14 14:18:10 JST","txid":0,"error_severity":"LOG","message":"ending log
output to stderr","hint":"Future log output will go to log destination
\"jsonlog\".","backend_type":"postmaster","query_id":0}
{"timestamp":"2022-10-14
14:18:10.657
JST","pid":14876,"session_id":"6348f112.3a1c","line_num":2,"session_start":"20
22-10-14
14:18:10
JST","txid":0,"error_severity":"LOG","message":"starting
PostgreSQL 15.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514
(Red Hat 8.5.0-10), 64-bit","backend_type":"postmaster","query_id":0}

3.3.3 Parameters with default values changed

The following parameters have changed default values.

ParameternamePostgreSQL14PostgreSQL15Note
hash_mem_multiplier1.02.0
log_autovacuum_min_durationlog_checkpoints-110min
offon
server_version14.515.0
server_version_num140005150000
Table 19 Parameters with default values changed

3.3.4 Removed parameter

The following parameter have been removed.

PDF page 55

Parameter nameReason
stats_temp_directoryIt was removed due to the shared memory of statistics.
Table 20 Removed parameter

3.3.5 Error when changing parameters

Some extension modules (auto_explain, pg_prewarm, pg_stat_statements, plperl, plpgsql) now generate errors when attempting to set parameters that do not exist after loading the module.

Example 66 Output error
postgres=> CREATE FUNCTION getwork() RETURNS TEXT AS $$
BEGIN
  RETURN current_setting('work_mem') ;
END ;
$$ LANGUAGE plpgsql ;
CREATE FUNCTION
postgres=> SET plpgsql.bad_parameter_name TO false ;
ERROR:  invalid configuration parameter name "plpgsql.bad_parameter_name"
DETAIL:  "plpgsql" is a reserved prefix.