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, andarchive_timeouthave 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
| Parameter | Description |
|---|---|
pg_stat_statements.max | Maximum number of statements tracked. |
pg_stat_statements.track | Which statements to track: none, top, all. |
pg_stat_statements.track_utility | Whether to track utility commands (e.g. DDL). |
pg_stat_statements.save | Whether to save statistics across restarts. |
pg_stat_statements.track_planning | Whether to track planning time. |
pgaudit
| Parameter | Description |
|---|---|
pgaudit.log | Comma-separated list of audit log classes (e.g. read, write). |
pgaudit.log_catalog | Log statements that use system catalog. |
pgaudit.log_client | Log to client (in addition to server log). |
pgaudit.log_level | Log level for audit (e.g. log, notice). |
pgaudit.log_parameter | Include parameters in audit log. |
pgaudit.log_parameter_max_size | Max size of parameter value in log. |
pgaudit.log_relation | Log relation names. |
pgaudit.log_statement | Log full statement text. |
pgaudit.log_statement_once | Log statement once per session. |
pgaudit.role | Role whose statements are audited. |
Connections and WAL
| Parameter | Description |
|---|---|
max_connections | Maximum number of client connections. |
archive_timeout | Force a WAL segment switch after this many seconds. |
min_wal_size | Minimum size of WAL files retained for reuse. |
max_wal_size | Maximum size of WAL files before checkpoint. |
Memory
| Parameter | Description |
|---|---|
shared_buffers | Amount of memory used for shared buffers (caching). |
work_mem | Memory used for sort/hash operations per operation. |
temp_buffers | Max temporary buffers per session. |
maintenance_work_mem | Memory for maintenance operations (VACUUM, CREATE INDEX). |
effective_cache_size | Estimate of memory available for disk caching (hint for planner). |
wal_buffers | WAL buffers in shared memory. |
Checkpoint and I/O
| Parameter | Description |
|---|---|
checkpoint_completion_target | Spread checkpoint I/O over this fraction of checkpoint interval. |
random_page_cost | Planner cost estimate for random page fetch. |
effective_io_concurrency | Number of simultaneous I/O operations the OS can handle. |
Logging and timeouts
| Parameter | Description |
|---|---|
log_min_duration_statement | Log statements running longer than this (ms). 0 = disabled. |
statement_timeout | Abort statements running longer than this (ms). 0 = disabled. |
Parallelism and locks
| Parameter | Description |
|---|---|
max_worker_processes | Maximum background processes. |
max_parallel_workers_per_gather | Max parallel workers per query node. |
max_parallel_workers | Max total parallel workers. |
max_parallel_maintenance_workers | Max parallel workers for maintenance (e.g. CREATE INDEX). |
max_locks_per_transaction | Max 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.