Настройки параметров Postgres
Рекомендуемая конфигурация PostgreSQL для узла управления. Изменение настроек требуют рестарта службы PostgreSQL. Для отказоустойчивого кластера перезагрузка осуществляется средствами crm. Добавить/изменить следующие настройки в файле /etc/postgresql/14/main/postgresql.conf. Настройки приведены в качестве примера для узла управления c 16 Гб ОЗУ.
timescaledb.telemetry_level=off max_connections = 2048
shared_buffers = 4GB # Необходимо задать здесь ¼ от общего объема оперативной памяти на узле.
effective_cache_size = 4GB maintenance_work_mem = 128MB checkpoint_completion_target = 0.9
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 300 # Только для диска ssd, nvme work_mem = 32MB
min_wal_size = 1GB max_wal_size = 4GB checkpoint_timeout = 30min checkpoint_warning = 25min synchronous_commit = off
bgwriter_delay = 10ms bgwriter_lru_maxpages = 900
bgwriter_lru_multiplier = 9.0
vacuum_cost_delay = 0
vacuum_cost_page_hit = 0
vacuum_cost_page_miss = 5
vacuum_cost_page_dirty = 5
vacuum_cost_limit = 2000
vacuum_freeze_min_age = 20000000
vacuum_freeze_table_age = 900000000
vacuum_multixact_freeze_min_age = 20000000
vacuum_multixact_freeze_table_age = 900000000
log_autovacuum_min_duration = 1000000
autovacuum_max_workers = 6 autovacuum_naptime = 1s autovacuum_vacuum_threshold = 500
autovacuum_analyze_threshold = 5000
autovacuum_vacuum_scale_factor = 0
autovacuum_analyze_scale_factor = 0
autovacuum_freeze_max_age = 1000000000
autovacuum_multixact_freeze_max_age = 1000000000
autovacuum_vacuum_cost_delay = 0
autovacuum_vacuum_cost_limit = -1 idle_in_transaction_session_timeout = 600000 # ms max_locks_per_transaction = 400