| |
Query to Set Recommended PostgreSQL Configuration Values |
Adjusted PgBouncer Values |
| |
ALTER SYSTEM SET max_connections = '1000';
ALTER SYSTEM SET checkpoint_timeout = '1200';
ALTER SYSTEM SET effective_cache_size = '12GB';
ALTER SYSTEM SET checkpoint_completion_target = '0.9';
ALTER SYSTEM SET wal_buffers = '16MB';
ALTER SYSTEM SET wal_level = 'minimal';
ALTER SYSTEM SET max_wal_senders = '0';
ALTER SYSTEM SET default_statistics_target = '100';
ALTER SYSTEM SET random_page_cost = '1.1';
ALTER SYSTEM SET max_worker_processes = '6';
ALTER SYSTEM SET max_parallel_workers_per_gather = '2';
ALTER SYSTEM SET max_parallel_workers = '4';
ALTER SYSTEM SET max_parallel_maintenance_workers = '2';
ALTER SYSTEM SET min_wal_size = '2GB';
ALTER SYSTEM SET max_wal_size = '8GB';
ALTER SYSTEM SET default_toast_compression = 'lz4';
ALTER SYSTEM SET wal_compression = 'lz4';
ALTER SYSTEM SET max_locks_per_transaction = '128';
ALTER SYSTEM SET hash_mem_multiplier = '2';
ALTER SYSTEM SET log_temp_files = '10MB';
ALTER SYSTEM SET log_lock_waits = 'on';
ALTER SYSTEM SET join_collapse_limit = '10';
ALTER SYSTEM SET geqo_threshold = '10';
ALTER SYSTEM SET log_line_prefix = '%m [%p] %q[user=%u,db=%d,app=%a] ';
ALTER SYSTEM SET jit = 'off';
ALTER SYSTEM SET log_autovacuum_min_duration = '1min';
ALTER SYSTEM SET log_min_duration_sample = '1s';
ALTER SYSTEM SET log_statement_sample_rate = '0.01';
ALTER SYSTEM SET log_filename = 'postgresql-%d-%H%M.log';
ALTER SYSTEM SET log_rotation_age = '4h';
ALTER SYSTEM SET log_rotation_size = '0';
ALTER SYSTEM SET log_truncate_on_rotation = 'on';
ALTER SYSTEM SET log_parameter_max_length = '10kB';
ALTER SYSTEM SET shared_buffers = '4GB';
ALTER SYSTEM SET maintenance_work_mem = '500MB';
ALTER SYSTEM SET work_mem = '8MB';
ALTER SYSTEM SET autovacuum_vacuum_cost_limit = '2000';
ALTER SYSTEM SET autovacuum_max_workers = '4';
ALTER SYSTEM SET huge_pages = 'off';
|
Not applicable as pgBouncer is not required. |
| |
Query to Set Recommended PostgreSQL Configuration Values |
Adjusted PgBouncer Values |
| |
ALTER SYSTEM SET max_connections = '2000';
ALTER SYSTEM SET checkpoint_timeout = '1200';
ALTER SYSTEM SET effective_cache_size = '24GB';
ALTER SYSTEM SET checkpoint_completion_target = '0.9';
ALTER SYSTEM SET wal_buffers = '16MB';
ALTER SYSTEM SET wal_level = 'minimal';
ALTER SYSTEM SET max_wal_senders = '0';
ALTER SYSTEM SET default_statistics_target = '100';
ALTER SYSTEM SET random_page_cost = '1.1';
ALTER SYSTEM SET max_worker_processes = '6';
ALTER SYSTEM SET max_parallel_workers_per_gather = '2';
ALTER SYSTEM SET max_parallel_workers = '4';
ALTER SYSTEM SET max_parallel_maintenance_workers = '2';
ALTER SYSTEM SET min_wal_size = '2GB';
ALTER SYSTEM SET max_wal_size = '8GB';
ALTER SYSTEM SET default_toast_compression = 'lz4';
ALTER SYSTEM SET wal_compression = 'lz4';
ALTER SYSTEM SET max_locks_per_transaction = '128';
ALTER SYSTEM SET hash_mem_multiplier = '2';
ALTER SYSTEM SET log_temp_files = '10MB';
ALTER SYSTEM SET log_lock_waits = 'on';
ALTER SYSTEM SET join_collapse_limit = '10';
ALTER SYSTEM SET geqo_threshold = '10';
ALTER SYSTEM SET log_line_prefix = '%m [%p] %q[user=%u,db=%d,app=%a] ';
ALTER SYSTEM SET jit = 'off';
ALTER SYSTEM SET log_autovacuum_min_duration = '1min';
ALTER SYSTEM SET log_min_duration_sample = '1s';
ALTER SYSTEM SET log_statement_sample_rate = '0.01';
ALTER SYSTEM SET log_filename = 'postgresql-%d-%H%M.log';
ALTER SYSTEM SET log_rotation_age = '4h';
ALTER SYSTEM SET log_rotation_size = '0';
ALTER SYSTEM SET log_truncate_on_rotation = 'on';
ALTER SYSTEM SET log_parameter_max_length = '10kB';
ALTER SYSTEM SET shared_buffers = '8GB';
ALTER SYSTEM SET maintenance_work_mem = '500MB';
ALTER SYSTEM SET work_mem = '8MB';
ALTER SYSTEM SET autovacuum_vacuum_cost_limit = '2000';
ALTER SYSTEM SET autovacuum_max_workers = '10';
ALTER SYSTEM SET huge_pages = 'try';
|
When using Proxy Pools:
Set the following values in pgbouncer.ini:
default_pool_size = 100
max_user_connections = 1800
|
| |
Query to Set Recommended PostgreSQL Configuration Values |
Adjusted PgBouncer Values |
| |
ALTER SYSTEM SET max_connections = '2200';
ALTER SYSTEM SET checkpoint_timeout = '1200';
ALTER SYSTEM SET effective_cache_size = '48GB';
ALTER SYSTEM SET checkpoint_completion_target = '0.9';
ALTER SYSTEM SET wal_buffers = '16MB';
ALTER SYSTEM SET wal_level = 'minimal';
ALTER SYSTEM SET max_wal_senders = '0';
ALTER SYSTEM SET default_statistics_target = '100';
ALTER SYSTEM SET random_page_cost = '1.1';
ALTER SYSTEM SET max_worker_processes = '16';
ALTER SYSTEM SET max_parallel_workers_per_gather = '2';
ALTER SYSTEM SET max_parallel_workers = '12';
ALTER SYSTEM SET max_parallel_maintenance_workers = '2';
ALTER SYSTEM SET min_wal_size = '2GB';
ALTER SYSTEM SET max_wal_size = '8GB';
ALTER SYSTEM SET default_toast_compression = 'lz4';
ALTER SYSTEM SET wal_compression = 'lz4';
ALTER SYSTEM SET max_locks_per_transaction = '128';
ALTER SYSTEM SET hash_mem_multiplier = '2';
ALTER SYSTEM SET log_temp_files = '10MB';
ALTER SYSTEM SET log_lock_waits = 'on';
ALTER SYSTEM SET join_collapse_limit = '10';
ALTER SYSTEM SET geqo_threshold = '10';
ALTER SYSTEM SET log_line_prefix = '%m [%p] %q[user=%u,db=%d,app=%a] ';
ALTER SYSTEM SET jit = 'off';
ALTER SYSTEM SET log_autovacuum_min_duration = '1min';
ALTER SYSTEM SET log_min_duration_sample = '1s';
ALTER SYSTEM SET log_statement_sample_rate = '0.01';
ALTER SYSTEM SET log_filename = 'postgresql-%d-%H%M.log';
ALTER SYSTEM SET log_rotation_age = '4h';
ALTER SYSTEM SET log_rotation_size = '0';
ALTER SYSTEM SET log_truncate_on_rotation = 'on';
ALTER SYSTEM SET log_parameter_max_length = '10kB';
ALTER SYSTEM SET shared_buffers = '16GB';
ALTER SYSTEM SET maintenance_work_mem = '500MB';
ALTER SYSTEM SET work_mem = '16MB';
ALTER SYSTEM SET autovacuum_vacuum_cost_limit = '2000';
ALTER SYSTEM SET autovacuum_max_workers = '20';
ALTER SYSTEM SET huge_pages = 'try';
|
When using Proxy Pools:
Set the following values in pgbouncer.ini:
default_pool_size = 100
max_user_connections = 1800
|