Skip to main content

Parameter list

KakaoCloud provides various parameters necessary for PostgreSQL configuration.
Some parameters support functions, expressions, and keywords. For more details, please refer to Parameter group > Expressions, functions, and keywords used in parameters.
Detailed information such as units, types, data formats, and editability of parameters can be found in the parameter group details view within the console.

Data format: Float

Parameters with a Float data format use the %.6g format when displaying values. This format only outputs up to 6 significant digits (excluding the decimal point). If the number of digits is exceeded, it is automatically rounded for display. Therefore, the value entered in the parameter group may differ from the actual value verified in the database.

Parameters to be careful of when modifying

These parameters require caution during modification because improper settings can affect the operation of the PostgreSQL service.

caution

Due to its internal structure, PostgreSQL limits the total number of processes to 262,143 or fewer.
If the sum of autovacuum_max_workers, max_connections, max_wal_senders, and max_worker_processes exceeds 262,143, the configured values for these parameters will not be applied.

Parameter nameDescriptionCautions
autovacuum_work_memMemory size for Autovacuum tasks
(-1 uses maintenance_work_mem)
The default value is -1, meaning no specific memory size is set, and it is configured to use the value of maintenance_work_mem instead.
Values from 0 to 1023 cannot be set due to database constraints.
If this parameter is set to a specific value, the total memory usage can increase up to autovacuum_work_mem × autovacuum_max_workers, so caution is required.
effective_cache_sizeValue used by the query planner to estimate available cache memoryWhile it does not directly allocate actual memory, it must be set appropriately considering the overall memory scale of the database server.
maintenance_work_memMaximum memory size for maintenance tasks
(VACUUM, CREATE INDEX, etc.)
Since this memory is allocated individually per task unit, if multiple tasks are performed simultaneously, the total memory usage may increase and affect the service.
max_connectionsMaximum number of simultaneous client connections allowedEach connection consumes system resources. Setting an excessively high value can lead to system load due to CPU and memory usage, affecting the service.
max_locks_per_transactionMaximum number of locks that can be acquired per transactionSetting an excessively high value may cause issues with service startup due to insufficient memory.
max_parallel_workersMaximum number of parallel workers allowed on the serverSetting a value too large for the server specifications can put a load on the system due to high CPU and memory usage.
max_pred_locks_per_transactionMaximum number of predicate locks that can be acquired per transactionSetting an excessively high value may cause issues with service startup due to insufficient memory.
max_prepared_transactionsMaximum number of prepared transactions that can be used simultaneouslySetting an excessively high value may cause issues with service startup due to insufficient memory.
max_worker_processesMaximum number of background workers for parallel processing, background tasks, extensions, etc.If set too low, features may not function correctly or parallel processing may be limited. If set too high, it may cause issues with service startup due to memory exhaustion.
shared_buffersParameter specifying the Shared memory size for caching table and index dataSetting it too small leads to performance degradation, while setting it too high can cause system overload or failures.
wal_keep_sizeSetting that specifies the minimum size of WAL files to retainIf replication delay occurs and the standby server does not receive necessary WAL files, the replication connection may be lost. It should be set to a sufficient value to prevent WAL deletion.
work_memMemory size allocated for query operations such as sorting, hashing, and aggregationSince it is allocated separately per task unit, if many queries are executed simultaneously, memory usage may increase and affect the service.

Among the provided parameters, these have recommended settings based on operational policies or are parameters that cannot be set directly.

Parameter nameDescription
application_nameSpecifies the name of the application executing the current session.
If a change is needed, it can be set at the session level using the SET command.
client_encodingSets the character encoding method between the client and the server.
If a change is needed, it can be set at the session level using the SET command.
Only character sets supported by PostgreSQL can be used. For a list and detailed descriptions, please refer to the official documentation.
DateStyleSets the output format for date and time.
When using a different DateStyle, it is recommended to set it for the user via ALTER USER ... SET rather than using the database parameter to fix the user's DateStyle.
lc_messagesLanguage setting for messages and error messages.
Provided based on locale information from the operating system. Values other than locales registered in the system cannot be set.
lc_monetaryLocale determining the currency unit format.
Provided based on locale information from the operating system. Values other than locales registered in the system cannot be set.
lc_numericLocale determining the number format.
Provided based on locale information from the operating system. Values other than locales registered in the system cannot be set.
lc_timeLocale determining the date and time format.
Provided based on locale information from the operating system. Values other than locales registered in the system cannot be set.
log_statement_statsWhether to log query execution statistics.
Can only be set if log_parser_stats, log_planner_stats, and log_executor_stats are all disabled (OFF).
log_timezoneTimezone to be used for log timestamps.
Configurable timezones are provided based on major countries and regions.
tcp_keepalives_countMaximum number of keepalive packets to send before a TCP connection is dropped.
Determined by the operating system's TCP Keepalive settings and cannot be modified.
tcp_keepalives_idleMaximum time (in seconds) a TCP connection can remain inactive.
Determined by the operating system's TCP Keepalive settings and cannot be modified.
tcp_keepalives_intervalInterval (in seconds) between TCP keepalive packets.
Determined by the operating system's TCP Keepalive settings and cannot be modified.
TimeZoneDefault timezone to be used by the server.
Configurable timezones are provided based on major countries and regions.
wal_bufferWAL log buffer size.
Values from 0 to 3 cannot be set due to database constraints.