JSON Schema PG

Properties

PropertyTypeRequiredDescription
autovacuumAutovacuumno
bg-writerBG Writerno
deadlock_timeoutintegernoThis is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. The default is 1000 (upstream default).
default_toast_compressionstringnoSpecifies the default TOAST compression method for values of compressible columns. The default is lz4. Only available for PostgreSQL 14+.

Allowed values: lz4, pglz.
idle_in_transaction_session_timeoutintegernoTime out sessions with open transactions after this number of milliseconds
io_combine_limitintegernoEXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units. Version 17 and up only.
io_max_combine_limitintegernoEXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units, and silently limits the user-settable parameter io_combine_limit. Version 18 and up only. Changing this parameter causes a service restart.
io_max_concurrencyintegernoEXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart.
io_methodstringnoEXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart.

Allowed values: worker, sync, io_uring.
io_workersintegernoEXPERIMENTAL: Number of IO worker processes, for io_method=worker. Version 18 and up only. Changing this parameter causes a service restart.
jitbooleannoControls system-wide use of Just-in-Time Compilation (JIT).
log_error_verbositystringnoControls the amount of detail written in the server log for each message that is logged.

Allowed values: TERSE, DEFAULT, VERBOSE.
log_line_prefixstringnoChoose from one of the available log formats.

Allowed values: pid=%p,user=%u,db=%d,app=%a,client=%h , pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q , %t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h , %m [%p] %q[user=%u,db=%d,app=%a] .
log_min_duration_statementintegernoLog statements that take more than this number of milliseconds to run, -1 disables
log_temp_filesintegernoLog statements for each temporary file created larger than this number of kilobytes, -1 disables
max_files_per_processintegernoPostgreSQL maximum number of files that can be open per process. The default is 1000 (upstream default). Changing this parameter causes a service restart.
max_locks_per_transactionintegernoPostgreSQL maximum locks per transaction. Changing this parameter causes a service restart.
max_logical_replication_workersintegernoPostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). The default is 4 (upstream default). Changing this parameter causes a service restart.
max_parallel_workersintegernoSets the maximum number of workers that the system can support for parallel queries. The default is 8 (upstream default).
max_parallel_workers_per_gatherintegernoSets the maximum number of workers that can be started by a single Gather or Gather Merge node. The default is 2 (upstream default).
max_pred_locks_per_transactionintegernoPostgreSQL maximum predicate locks per transaction. The default is 64 (upstream default). Changing this parameter causes a service restart.
max_prepared_transactionsintegernoPostgreSQL maximum prepared transactions. The default is 0. Changing this parameter causes a service restart.
max_replication_slotsintegernoPostgreSQL maximum replication slots. The default is 20. Changing this parameter causes a service restart.
max_stack_depthintegernoMaximum depth of the stack in bytes. The default is 2097152 (upstream default).
max_standby_archive_delayintegernoMax standby archive delay in milliseconds. The default is 30000 (upstream default).
max_standby_streaming_delayintegernoMax standby streaming delay in milliseconds. The default is 30000 (upstream default).
max_sync_workers_per_subscriptionintegernoMaximum number of synchronization workers per subscription. The default is 2.
max_worker_processesintegernoSets the maximum number of background processes that the system can support. The default is 8. Changing this parameter causes a service restart.
password_encryptionstringnoChooses the algorithm for encrypting passwords.

Allowed values: md5, scram-sha-256.
pg_partman_bgw.intervalintegernoSets the time interval in seconds to run pg_partman’s scheduled tasks. The default is 3600.
pg_partman_bgw.rolestringnoControls which role to use for pg_partman’s scheduled background tasks.
pg_stat_monitor.pgsm_enable_query_planbooleannoEnables or disables query plan monitoring. Changing this parameter causes a service restart. Only available for PostgreSQL 13+.
pg_stat_monitor.pgsm_max_bucketsintegernoSets the maximum number of buckets. Changing this parameter causes a service restart. Only available for PostgreSQL 13+.
pg_stat_statements.trackstringnoControls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default is top.

Allowed values: all, top, none.
temp_file_limitintegernoPostgreSQL temporary file limit in KiB, -1 for unlimited
timezonestringnoPostgreSQL service timezone
track_activity_query_sizeintegernoSpecifies the number of bytes reserved to track the currently executing command for each active session. Changing this parameter causes a service restart.
track_commit_timestampstringnoRecord commit time of transactions. Changing this parameter causes a service restart.

Allowed values: off, on.
track_functionsstringnoEnables tracking of function call counts and time used.

Allowed values: all, pl, none.
track_io_timingstringnoEnables timing of database I/O calls. The default is off. When on, it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.

Allowed values: off, on.
walWalno

Wal

PropertyTypeRequiredDescription
max_slot_wal_keep_sizeintegernoPostgreSQL maximum WAL size (MB) reserved for replication slots. If -1 is specified, replication slots may retain an unlimited amount of WAL files. The default is -1 (upstream default). wal_keep_size minimum WAL size setting takes precedence over this.
max_wal_sendersintegernoPostgreSQL maximum WAL senders. The default is 20. Changing this parameter causes a service restart.
wal_sender_timeoutintegernoTerminate replication connections that are inactive for longer than this amount of time, in milliseconds.
wal_writer_delayintegernoWAL flush interval in milliseconds. The default is 200. Setting this parameter to a lower value may negatively impact performance.

Autovacuum

PropertyTypeRequiredDescription
autovacuum_analyze_scale_factornumbernoSpecifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE (e.g. 0.2 for 20% of the table size). The default is 0.2.
autovacuum_analyze_thresholdintegernoSpecifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50.
autovacuum_freeze_max_ageintegernoSpecifies the maximum age (in transactions) that a table’s pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. The system launches autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. Changing this parameter causes a service restart.
autovacuum_max_workersintegernoSpecifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is 3. Changing this parameter causes a service restart.
autovacuum_naptimeintegernoSpecifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds. The default is 60.
autovacuum_vacuum_cost_delayintegernoSpecifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. The default is 2 (upstream default).
autovacuum_vacuum_cost_limitintegernoSpecifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_limit value will be used. The default is -1 (upstream default).
autovacuum_vacuum_scale_factornumbernoSpecifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM (e.g. 0.2 for 20% of the table size). The default is 0.2.
autovacuum_vacuum_thresholdintegernoSpecifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50.
log_autovacuum_min_durationintegernoCauses each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one disables logging autovacuum actions. The default is 1000.

BG Writer

PropertyTypeRequiredDescription
bgwriter_delayintegernoSpecifies the delay between activity rounds for the background writer in milliseconds. The default is 200.
bgwriter_flush_afterintegernoWhenever more than bgwriter_flush_after bytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes. Setting of 0 disables forced writeback. The default is 512.
bgwriter_lru_maxpagesintegernoIn each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. The default is 100.
bgwriter_lru_multipliernumbernoThe average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0.
Last updated on