This section describes the configuration parameters in the Client Connection Defaults category.
Note!
Manually modifying these parameters should be done with caution to ensure system stability and security.
Sets the output format for values of type bytea.
hex (default) and escape (traditional PostgreSQL format).| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| enum | hex | hex / escape | segments; session; reload |
Controls whether the body of a function is checked for syntax and referenced objects when created using the CREATE FUNCTION statement.
| Data Type | Default Value | Category |
|---|---|---|
| boolean | on | master; session; reload |
Sets the message level sent to the client.
log level differs here from its meaning in the log_min_messages parameter.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| enum | notice | debug5 / debug4 / debug3 / debug2 / debug1 / log / notice / warning / error Each level includes all subsequent levels. Higher levels result in fewer messages being sent. |
master; session; reload |
Specifies the default tablespace for creating tables and indexes when a CREATE command does not explicitly specify one.
CREATE privilege, the setting succeeds; otherwise, the current database is used.temp_tablespaces instead.| Data Type | Default Value | Category |
|---|---|---|
| string | master; session; reload |
Determines whether each new transaction is read-only.
off, allowing both read and write operations.| Data Type | Default Value | Category |
|---|---|---|
| boolean | off | master; session; reload |
Soft upper limit on the size of result sets returned by GIN index scans.
| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; session; reload |
Sets the maximum size of the pending list for GIN indexes when fastupdate is enabled.
| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 4096 | 64 ~ (INT_MAX/1024) | master; session; reload |
Releases system resources (e.g., shared memory) for a database session if it remains idle longer than the specified time (in milliseconds), while keeping the connection open.
0 disables this feature.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 18000 | 0 ~ INT_MAX | master; system; reload |
Terminates any session with an open transaction that has been idle longer than the specified time.
0, disabling timeout.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; session; reload |
Reports the locale setting used for text data sorting.
| Default Value | Possible Values | Category |
|---|---|---|
| system-dependent | read only |
Reports the locale setting used for character classification.
| Default Value | Possible Values | Category |
|---|---|---|
| system-dependent | read only |
Aborts any statement waiting longer than the specified time (in milliseconds) to acquire a lock on a table, index, row, or other database object.
LOCK TABLE, SELECT FOR UPDATE without NOWAIT) and implicit locks.statement_timeout, this timeout applies only during lock waits.statement_timeout is non-zero, setting lock_timeout to the same or larger value is ineffective, as transaction timeout will trigger first.log_min_error_statement is set to error or lower.lock_timeout in postgresql.conf is not recommended, as it affects all sessions.0, disabling timeout.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; session; reload |
Controls whether row-level security policies are enforced or cause an error.
on, policies are applied normally.off, any query affected by a policy fails.off when restricted row visibility could lead to incorrect results. pg_dump makes this change by default.BYPASSRLS attribute).| Data Type | Default Value | Category |
|---|---|---|
| boolean | on | master; system; restart |
Specifies the order in which schemas are searched when referencing an object (table, type, function, etc.) by an unqualified name.
search_path must be a comma-separated list of schema names. Any non-existent schema or schema without USAGE privilege is silently ignored.$user is replaced by the schema named by CURRENT_USER. This schema is included only if the user has USAGE privilege on it; otherwise, $user is ignored.pg_catalog is always searched. If listed in the path, it is searched in order; otherwise, it is searched before any other schema.pg_temp_nnn is also always searched (if it exists). It can be explicitly listed using the alias pg_temp. If not listed, it is searched first (even before pg_catalog). However, the temporary schema is used only for relations (tables, views, sequences) and data types, never for functions or operators.search_path."$user", public. This supports databases where users either share the public schema, have private schemas, or a mix of both.current_schemas. This differs from checking search_path, as current_schemas shows how items in search_path are resolved.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | "$user", public | comma-separated list of schema names | master; session; reload |
Controls the firing of replication-related triggers and rules for the current session.
ENABLE TRIGGER when applying replicated changes, so triggers and rules (unless modified) do not fire on replicas. See ALTER TABLE clauses ENABLE RULE and origin.local and local identically. Third-party replication systems may use these values internally, e.g., replica to mark sessions whose changes should not be replicated.log_min_error_statement disables foreign key checks. Misuse may leave data in an inconsistent state.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| enum | origin | origin / replica / local | segments; session; reload; superuser |
Aborts any statement running longer than the specified time (in milliseconds).
error is set to postgresql.conf or lower.0, as it affects all sessions.CREATE, disabling timeout.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; session; reload |
Specifies the tablespace(s) for temporary objects (temporary tables and their indexes) when temp_tablespaces does not explicitly specify one.
CREATE privilege. Non-superusers require CREATE privilege on the temporary tablespace, granted by a superuser.postgresql.conf).| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | one or more tablespace names | master; session; reload |
Specifies a fraction of the total heap tuples counted in the previous statistics collection. Insertions below this threshold will not trigger index scanning during the VACUUM cleanup phase.
vacuum_cleanup_index_scale_factor of the total heap tuples at last stats collection.VACUUM finds no dead tuples. Thus, skipping index scan in cleanup is possible only from the second VACUUM cycle onward when no dead tuples are found.vacuum_cleanup_index_scale_factor is set to 0, index scans are never skipped during VACUUM cleanup.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| floating point | 0.1 | 0 ~ 10000000000 | segments; session; reload |
Specifies the minimum age (in transactions) that a transaction ID must reach before VACUUM replaces it with FrozenXID during a table scan.
| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 50000000 | 0 ~ 100000000000 | segments; system; restart |
When a table's pg_class.relfrozenxid field reaches this age, VACUUM performs an aggressive scan.
VACUUM by visiting every page that might contain unfrozen XIDs or MXIDs, not just those with dead tuples.VACUUM can be run periodically before anti-wraparound autovacuum is triggered.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 150000000 | 0 ~ 200000000 | segments; session; reload |
Specifies the cutoff age (in multitransactions) used by VACUUM to decide whether to replace a multitransaction ID with a newer transaction or multitransaction ID.
| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 5000000 | 0 ~ 100000000 | segments; session; reload |
If a table's pg_class.relminmxid field exceeds this age, VACUUM performs an aggressive scan.
VACUUM, which scans only pages with dead tuples.VACUUM can be run periodically before anti-wraparound autovacuum is triggered.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 150000000 | 0 ~ 200000000 | segments; session; reload |
Sets the client encoding (character set).
| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | SQL_ASCII | Supported character sets | master; session; reload |
Sets the display format for date and time values and rules for interpreting ambiguous date inputs.
ISO, Postgres, SQL, or German) and input/output order of year/month/day (DMY, MDY, or YMD). These can be set independently or together. Keywords Euro and European are synonyms for DMY; US, NonEuro, and NonEuropean are synonyms for MDY.ISO, MDY, but initdb initializes the setting based on the selected lc_time locale behavior.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | iso, mdy | master; system; restart |
Selects the text search configuration used by text search functions that do not explicitly specify one.
pg_catalog.simple, but initdb initializes it based on the selected lc_ctype locale if a matching configuration exists.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | pg_catalog.english | name of a text search configuration | master; session; reload |
Adjusts the number of digits displayed for floating-point values, including float4, float8, and geometric types.
float8 values require up to 17 digits; float4 values up to 9.3 are allowed.0 or negative, output is rounded to the given decimal precision.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| int | 1 | -15 ~ 3 | master; session; reload |
Sets the display format for interval values.
sql_standard produces output compatible with SQL standard interval literals.iso_8601 produces output matching ISO 8601 duration format.intervalstyle may also affect interpretation of ambiguous interval inputs.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| enum | postgres | sql_standard / postgres / iso_8601 / postgres_verbose | master; session; reload |
Sets the language for message display.
locale -a.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | locales listed by locale -a |
segments; system; restart; superuser |
Sets the locale for formatting monetary amounts, e.g., with to_char functions.
locale -a.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | locales listed by locale -a |
segments; system; restart |
Sets the locale for formatting numbers, e.g., with to_char functions.
locale -a.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | locales listed by locale -a |
segments; system; restart |
Sets the locale for formatting dates and times, e.g., with to_char functions.
locale -a.| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | locales listed by locale -a |
segments; system; restart |
Sets the time zone for displaying and interpreting timestamps.
| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| string | GMT | time zone abbreviations | segments; restart |
Sets the set of time zone abbreviations accepted in datetime input.
$GPHOME/share/postgresql/timezonesets/. You can create custom files in this directory. Example: To use a file custom containing default zones plus WIB (Waktu Indonesia Barat):Default from $GPHOME/share/postgresql/timezonesets/ to custom. Add WIB time zone info to custom.custom to the $GPHOME/share/postgresql/timezonesets/ directory on the MXMaster and MXSegment hosts.timezone_abbreviations to custom.mxstop -u).| Data Type | Default Value | Possible Values | Category |
|---|---|---|---|
| enum | Default | Default / Australia / India / | master; session; reload |
Multiple settings allow preloading shared libraries into the server to add functionality or improve performance. For example, the $libdir/mylib setting may cause mylib.so (or mylib.sl on some platforms) to be preloaded from the standard library directory. These settings differ in when they take effect and required privileges.
YMatrix procedural language libraries can be preloaded using $libdir/plXXX syntax, where XXX is pgsql, perl, tcl, or python.
Only shared libraries specifically designed for YMatrix can be loaded this way. Each supported library contains a "magic block" for compatibility verification. Therefore, non-YMatrix libraries cannot be loaded this way. You may use OS tools like LD_PRELOAD to load them.
Refer to specific module documentation for recommended loading methods.
Specifies the name of the JIT provider library to use.
| Data Type | Default Value | Category |
|---|---|---|
| string | llvmjit | segments; session; restart; superuser |
--- SPLIT ---
local_preload_libraries
Any user can use this variable to specify one or more shared libraries to be preloaded at the beginning of a connection.
LOAD command. Whitespace between entries is ignored. To include spaces or commas in a library name, enclose the name in double quotes.plugins subdirectory of the standard library directory (it is the database administrator's responsibility to ensure that only "safe" libraries are installed here).local_preload_libraries can explicitly specify the full path to the directory, for example $libdir/plugins/mylib, or just the library name — mylib and $libdir/plugins/mylib have the same effect.LOAD command. Typically, this parameter is set using the client's PGOPTIONS environment variable or ALTER ROLE SET.session_preload_libraries.| Data Type | Default Value | Setting Category |
|---|---|---|
| string | segments; system; restart |
Only superusers can use this variable to specify one or more shared libraries to be preloaded at the beginning of a connection.
LOAD command. Whitespace between entries is ignored. To include spaces or commas in a library name, enclose the name in double quotes.LOAD command. For example, setting this parameter via ALTER ROLE SET enables auto_explain for all sessions under a given username.shared_preload_libraries, preloading a library at session start offers no performance benefit over loading it when first used. However, this parameter has advantages when connection pooling is in use.| Data Type | Default Value | Setting Category |
|---|---|---|
| string | segments; session; reload; superuser |
LOAD command. Whitespace between entries is ignored. To include spaces or commas in a library name, enclose the name in double quotes.postmaster startup, such as allocating shared memory, reserving lightweight locks, or launching background workers. Such libraries must be loaded at server startup via this parameter.session_preload_libraries instead.shared_preload_libraries remains useful on Windows for libraries that must perform actions at postmaster startup.| Data Type | Default Value | Setting Category |
|---|---|---|
| string | segments; system; restart |
When loading dynamically loaded modules, if the filename specified in the CREATE FUNCTION or LOAD command does not include a directory component (i.e., the name contains no "/"), the system searches this path for the required file.
dynamic_library_path must be a colon-separated list (or semicolon-separated on Windows) of absolute directory paths. If a list element begins with the special string $libdir, it is replaced with the compiled-in library directory of the PostgreSQL installation. This is where modules provided by the PostgreSQL distribution are installed (use pg_config --pkglibdir to find the name of this directory).dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
Or on Windows:
dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
$libdir. If set to an empty string, automatic path searching is disabled.postgresql.conf configuration file.| Data Type | Default Value | Valid Values | Setting Category |
|---|---|---|---|
| string | $libdir | Colon-separated list of absolute directory paths | segments; system; restart |