-1
(uses maintenance_work_mem). Set to 64MB
to 1GB
based on your system memory. Ensure total autovacuum memory (autovacuum_work_mem Ć autovacuum_max_workers) doesn't exceed available RAM.0
(automatically sized). Set explicitly only if you have specific performance requirements with commit timestamp usage. Typically best left at default.posix
(most systems). On Windows, uses windows
. Generally should be left at default unless you have specific platform requirements.2.0
. Increase to 4.0
for data warehouse workloads with large hash joins. Decrease to 1.0
for OLTP workloads where memory is constrained.2MB
or 1GB
depending on system configuration. Must match the OS huge page size. Requires proper OS configuration.try
(use if available). Set to on
for large databases (>64GB shared_buffers) if huge pages are properly configured. Requires OS-level huge page configuration.64MB
. Increase to 256MB
or 512MB
for busy logical replication setups. Monitor logical decoding performance and adjust accordingly.64MB
. Set to 1GB
to 2GB
for large databases. Should be 10-25% of total system RAM, but consider concurrent operations.0
(disabled). Set to the maximum number of expected prepared transactions if using two-phase commit. Typically 100-500
for most applications.2MB
. Generally should not be changed unless advised by support. Incorrect settings can cause server crashes.0MB
. Set only if you experience dynamic shared memory allocation failures. Typically not needed for most deployments.0
(automatically sized). Adjust only if you have heavy multi-transaction usage and specific performance issues.0
(automatically sized). Increase only if using serializable isolation level and experiencing performance issues.128MB
. Set to 25-40% of total system RAM for dedicated database servers. For example, 16GB on a 64GB system. Don't exceed 40% to leave memory for other uses.mmap
(most systems). Generally should be left at default unless you have specific platform requirements.0
(automatically sized). Typically best left at default values unless you have specific transaction-heavy workloads.8MB
. Increase to 16-32MB
if you use temporary tables extensively. Consider your max_connections when setting this value.0
(no limit). Set to limit vacuum's impact on the buffer cache if needed. Typically 256MB
to 1GB
depending on shared_buffers size.4MB
. Calculate as (total RAM - shared_buffers) / (max_connections Ć 2)
. For OLTP: 4-16MB
, for OLAP: 64-256MB
. Monitor temp file usage to tune this parameter.Start your journey toward a healthier PostgreSQL with pghealth.
You can explore all features immediately with a free trial ā no installation required.
š Start Free Trial