PostgreSQL Parameters

Thalassa Cloud DBaaS lets you configure a subset of PostgreSQL parameters for your cluster. Only parameters that are safe and supported for managed PostgreSQL are exposed. Cluster-level defaults apply; the instance type you choose overrides many of these with tuned values for that size.

How parameters work

  • Allowed parameters — Only the parameters listed below can be set. Other PostgreSQL parameters are managed by the platform or fixed for stability.
  • Cluster defaults — The platform sets defaults for WAL, replication, and connections. For example: wal_keep_size, max_replication_slots, max_parallel_workers, max_worker_processes, and archive_timeout have platform defaults.
  • Instance-type overrides — When you pick an instance type (e.g. small, medium, large), memory- and CPU-related parameters are set to values suited for that instance. You can override them within the allowed list if your workload needs it.

You can view and change allowed parameters via the Thalassa Cloud API for databases or the console, depending on how your cluster is managed.

Note: Tuning these parameters is advanced and may impact your cluster stability. If you have questions or need guidance, please reach out to Thalassa Cloud support or one of our partners.

Allowed parameters

The following parameters can be configured on your PostgreSQL cluster.

pg_stat_statements

ParameterDescription
pg_stat_statements.maxMaximum number of statements tracked.
pg_stat_statements.trackWhich statements to track: none, top, all.
pg_stat_statements.track_utilityWhether to track utility commands (e.g. DDL).
pg_stat_statements.saveWhether to save statistics across restarts.
pg_stat_statements.track_planningWhether to track planning time.

pgaudit

ParameterDescription
pgaudit.logComma-separated list of audit log classes (e.g. read, write).
pgaudit.log_catalogLog statements that use system catalog.
pgaudit.log_clientLog to client (in addition to server log).
pgaudit.log_levelLog level for audit (e.g. log, notice).
pgaudit.log_parameterInclude parameters in audit log.
pgaudit.log_parameter_max_sizeMax size of parameter value in log.
pgaudit.log_relationLog relation names.
pgaudit.log_statementLog full statement text.
pgaudit.log_statement_onceLog statement once per session.
pgaudit.roleRole whose statements are audited.

Connections and WAL

ParameterDescription
max_connectionsMaximum number of client connections.
archive_timeoutForce a WAL segment switch after this many seconds.
min_wal_sizeMinimum size of WAL files retained for reuse.
max_wal_sizeMaximum size of WAL files before checkpoint.

Memory

ParameterDescription
shared_buffersAmount of memory used for shared buffers (caching).
work_memMemory used for sort/hash operations per operation.
temp_buffersMax temporary buffers per session.
maintenance_work_memMemory for maintenance operations (VACUUM, CREATE INDEX).
effective_cache_sizeEstimate of memory available for disk caching (hint for planner).
wal_buffersWAL buffers in shared memory.

Checkpoint and I/O

ParameterDescription
checkpoint_completion_targetSpread checkpoint I/O over this fraction of checkpoint interval.
random_page_costPlanner cost estimate for random page fetch.
effective_io_concurrencyNumber of simultaneous I/O operations the OS can handle.

Logging and timeouts

ParameterDescription
log_min_duration_statementLog statements running longer than this (ms). 0 = disabled.
statement_timeoutAbort statements running longer than this (ms). 0 = disabled.

Parallelism and locks

ParameterDescription
max_worker_processesMaximum background processes.
max_parallel_workers_per_gatherMax parallel workers per query node.
max_parallel_workersMax total parallel workers.
max_parallel_maintenance_workersMax parallel workers for maintenance (e.g. CREATE INDEX).
max_locks_per_transactionMax locks per transaction (affects lock table size).

Full list (reference)

All configurable parameter names in one list:

  • pg_stat_statements: pg_stat_statements.max, pg_stat_statements.track, pg_stat_statements.track_utility, pg_stat_statements.save, pg_stat_statements.track_planning
  • pgaudit: pgaudit.log, pgaudit.log_catalog, pgaudit.log_client, pgaudit.log_level, pgaudit.log_parameter, pgaudit.log_parameter_max_size, pgaudit.log_relation, pgaudit.log_statement, pgaudit.log_statement_once, pgaudit.role
  • Connections/WAL: archive_timeout, min_wal_size, max_wal_size, max_connections
  • Memory/checkpoint/I/O: max_locks_per_transaction, shared_buffers, work_mem, temp_buffers, maintenance_work_mem, effective_cache_size, checkpoint_completion_target, wal_buffers, random_page_cost, effective_io_concurrency
  • Logging/timeouts: log_min_duration_statement, statement_timeout
  • Parallelism: max_worker_processes, max_parallel_workers_per_gather, max_parallel_workers, max_parallel_maintenance_workers

For detailed semantics and valid values, see the PostgreSQL documentation.