Files
bd-fhir-national/postgres/audit/postgresql.conf
2026-03-16 00:02:58 +06:00

56 lines
1.6 KiB
Plaintext

# =============================================================================
# postgres/audit/postgresql.conf
# PostgreSQL 15 configuration for the audit database.
# Container memory limit: 1GB (lighter than FHIR store).
# Workload: INSERT-heavy (audit events), occasional SELECT (analytics).
#
# For 1GB container:
# shared_buffers = 256MB
# effective_cache_size = 768MB
# work_mem = 4MB
# maintenance_work_mem = 100MB
# =============================================================================
max_connections = 20
superuser_reserved_connections = 3
shared_buffers = 256MB
effective_cache_size = 768MB
work_mem = 4MB
maintenance_work_mem = 100MB
wal_buffers = 8MB
checkpoint_completion_target = 0.9
synchronous_commit = on
random_page_cost = 1.1
effective_io_concurrency = 200
# Logging
log_destination = stderr
logging_collector = off
log_min_messages = WARNING
log_min_error_statement = ERROR
log_min_duration_statement = 500
log_line_prefix = '%t [%p] %u@%d '
log_checkpoints = on
log_lock_waits = on
log_temp_files = 0
# Autovacuum — partitioned tables need careful autovacuum tuning.
# Each monthly partition is a separate physical table for autovacuum purposes.
autovacuum = on
autovacuum_max_workers = 3
autovacuum_naptime = 60s
timezone = 'UTC'
log_timezone = 'UTC'
lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
track_io_timing = on
track_counts = on