mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-04 10:04:50 +10:00
122 lines
2.8 KiB
Plaintext
122 lines
2.8 KiB
Plaintext
# -----------------------------
|
|
# PostgreSQL 18 configuration file
|
|
# Optimized for: 8GB RAM, 6 vCPU, KVM Virtual Machine
|
|
# -----------------------------
|
|
|
|
# CONNECTIONS AND AUTHENTICATION
|
|
listen_addresses = '*'
|
|
max_connections = 100
|
|
superuser_reserved_connections = 3
|
|
|
|
# MEMORY SETTINGS
|
|
shared_buffers = 2GB
|
|
huge_pages = try
|
|
effective_cache_size = 6GB
|
|
maintenance_work_mem = 512MB
|
|
work_mem = 20MB
|
|
|
|
# QUERY TUNING
|
|
random_page_cost = 1.1
|
|
effective_io_concurrency = 200
|
|
default_statistics_target = 100
|
|
|
|
# WRITE AHEAD LOG (WAL)
|
|
wal_level = replica
|
|
wal_buffers = 16MB
|
|
min_wal_size = 1GB
|
|
max_wal_size = 4GB
|
|
wal_compression = on
|
|
checkpoint_completion_target = 0.9
|
|
checkpoint_timeout = 15min
|
|
|
|
# BACKGROUND WRITER
|
|
bgwriter_delay = 200ms
|
|
bgwriter_lru_maxpages = 100
|
|
bgwriter_lru_multiplier = 2.0
|
|
|
|
# AUTOVACUUM
|
|
autovacuum = on
|
|
autovacuum_max_workers = 3
|
|
autovacuum_naptime = 1min
|
|
autovacuum_vacuum_threshold = 50
|
|
autovacuum_vacuum_scale_factor = 0.1
|
|
autovacuum_analyze_threshold = 50
|
|
autovacuum_analyze_scale_factor = 0.05
|
|
autovacuum_vacuum_cost_delay = 2ms
|
|
autovacuum_vacuum_cost_limit = 200
|
|
|
|
# MONITORING AND STATISTICS
|
|
track_activities = on
|
|
track_counts = on
|
|
track_io_timing = on
|
|
track_functions = all
|
|
track_wal_io_timing = on
|
|
compute_query_id = on
|
|
|
|
# pg_stat_statements configuration
|
|
pg_stat_statements.track = all
|
|
pg_stat_statements.max = 10000
|
|
pg_stat_statements.track_utility = on
|
|
pg_stat_statements.save = on
|
|
|
|
# LOGGING
|
|
log_destination = 'stderr'
|
|
logging_collector = on
|
|
log_directory = 'log'
|
|
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
|
|
log_file_mode = 0600
|
|
log_rotation_age = 1d
|
|
log_rotation_size = 100MB
|
|
log_truncate_on_rotation = on
|
|
|
|
# What to log
|
|
log_min_duration_statement = 1000
|
|
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_timezone = 'UTC'
|
|
|
|
# LOCALE AND FORMATTING
|
|
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'
|
|
|
|
# LOCK MANAGEMENT
|
|
deadlock_timeout = 1s
|
|
max_locks_per_transaction = 64
|
|
max_pred_locks_per_transaction = 64
|
|
|
|
# CLIENT CONNECTION DEFAULTS
|
|
search_path = '"$user", public'
|
|
idle_in_transaction_session_timeout = 600000
|
|
statement_timeout = 0
|
|
|
|
# PARALLEL QUERY EXECUTION
|
|
max_worker_processes = 6
|
|
max_parallel_workers_per_gather = 3
|
|
max_parallel_workers = 6
|
|
max_parallel_maintenance_workers = 3
|
|
parallel_leader_participation = on
|
|
|
|
# INCREMENTAL BACKUP
|
|
summarize_wal = on
|
|
|
|
# VACUUM OPTIMIZATION
|
|
vacuum_buffer_usage_limit = 256kB
|
|
|
|
# VECTOR EXTENSION SETTINGS
|
|
maintenance_work_mem = 512MB
|
|
max_parallel_maintenance_workers = 3
|
|
work_mem = 32MB
|
|
|
|
# EXTENSIONS
|
|
shared_preload_libraries = 'pg_stat_statements' |