# ============================================================================= # PostgreSQL 效能優化配置 # WOOO TECH - Momo Pro System # 針對 8GB RAM 伺服器優化 # ============================================================================= # ----------------------------------------------------------------------------- # 連線設定 # ----------------------------------------------------------------------------- listen_addresses = '*' max_connections = 100 # ----------------------------------------------------------------------------- # 記憶體配置 (針對 8GB RAM 優化) # ----------------------------------------------------------------------------- # shared_buffers: 建議設為總 RAM 的 25% (8GB * 0.25 = 2GB) shared_buffers = 2GB # work_mem: 每個排序/Hash 操作的記憶體 (大型查詢需要更多) # 計算: (RAM - shared_buffers) / (max_connections * 2) work_mem = 64MB # maintenance_work_mem: VACUUM, CREATE INDEX 等維護操作使用 maintenance_work_mem = 512MB # effective_cache_size: 告訴 planner 系統總共有多少快取可用 # 建議設為總 RAM 的 75% effective_cache_size = 6GB # ----------------------------------------------------------------------------- # 磁碟 I/O 配置 # ----------------------------------------------------------------------------- # 使用 SSD 時建議調高 random_page_cost = 1.1 effective_io_concurrency = 200 # 預讀設定 (對於大表 Seq Scan 很重要) seq_page_cost = 1.0 # ----------------------------------------------------------------------------- # WAL (Write-Ahead Log) 配置 # ----------------------------------------------------------------------------- wal_buffers = 64MB checkpoint_completion_target = 0.9 max_wal_size = 2GB min_wal_size = 1GB # ----------------------------------------------------------------------------- # 查詢計劃器配置 # ----------------------------------------------------------------------------- # 鼓勵使用索引 enable_seqscan = on enable_indexscan = on enable_bitmapscan = on # 並行查詢 (利用多核心) max_parallel_workers_per_gather = 2 max_parallel_workers = 4 max_worker_processes = 8 parallel_tuple_cost = 0.01 parallel_setup_cost = 1000 # ----------------------------------------------------------------------------- # 自動 VACUUM 配置 # ----------------------------------------------------------------------------- autovacuum = on autovacuum_vacuum_scale_factor = 0.1 autovacuum_analyze_scale_factor = 0.05 # ----------------------------------------------------------------------------- # 日誌配置 # ----------------------------------------------------------------------------- log_min_duration_statement = 1000 log_checkpoints = on log_lock_waits = on # ----------------------------------------------------------------------------- # 統計收集 # ----------------------------------------------------------------------------- track_activities = on track_counts = on