listen_addresses = '*'
max_connections = 200
superuser_reserved_connections = 3

shared_buffers = 4GB
effective_cache_size = 12GB
maintenance_work_mem = 1GB
work_mem = 20MB

checkpoint_timeout = 15min
checkpoint_completion_target = 0.9
max_wal_size = 4GB
min_wal_size = 1GB

random_page_cost = 1.1
effective_io_concurrency = 200

wal_buffers = 16MB
wal_compression = on
wal_level = replica
max_wal_senders = 3

logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 100MB
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_duration = off
log_lock_waits = on
log_statement = 'none'
log_temp_files = 0
log_min_duration_statement = 1000

autovacuum = on
autovacuum_max_workers = 3
autovacuum_naptime = 30s

shared_preload_libraries = 'pg_stat_statements'
track_io_timing = on
track_functions = all

pg_stat_statements.max = 10000
pg_stat_statements.track = all

default_statistics_target = 100
max_parallel_workers_per_gather = 2
max_parallel_workers = 4
max_worker_processes = 4

datestyle = 'iso, mdy'
timezone = 'UTC'
lc_messages = 'en_US.utf8'
lc_monetary = 'en_US.utf8'
lc_numeric = 'en_US.utf8'
lc_time = 'en_US.utf8'
default_text_search_config = 'pg_catalog.english'
