星巡研究院

PostgreSQL 配置速查

postgresql.conf

连接、共享缓冲、WAL 与 autovacuum 相关配置项,及常用调优点。

# PostgreSQL 配置速查 ## 核心结构 主配置文件 postgresql.conf,配合 pg_hba.conf 管认证、pg_ident.conf 管用户映射。 ## 高频配置项 - listen_addresses / port:监听地址与端口 - max_connections:最大连接数,连接多时更推荐前置连接池 - shared_buffers:共享缓冲,最关键的调优点,常设为内存的四分之一左右 - effective_cache_size:优化器对可用缓存的估算,只影响计划选择 - work_mem / maintenance_work_mem:单操作排序与哈希内存、维护操作内存 - wal_level / max_wal_size / checkpoint_completion_target:WAL 级别与检查点节奏 - autovacuum:自动清理开关,默认应保持开启 - logging_collector / log_min_duration_statement:日志收集与慢语句阈值 ## 连接管理 PG 是进程模型,每个连接一个后端进程。高并发短连接场景下,进程创建开销明显,应使用连接池而不是一味调大 max_connections。 ## 常见坑 - 关闭 autovacuum,表膨胀与事务回卷迟早找上门 - work_mem 设太大,连接一多内存被打满 - 长事务阻碍清理,导致膨胀与索引失效 - 忽略 pg_hba.conf,把认证方式放得过宽 - 只监控连接数,没监控复制延迟与表膨胀 ## 排查看什么 pg_stat_activity 看当前活动、EXPLAIN ANALYZE 看真实执行、pg_stat_user_tables 看膨胀与扫描比例。
#postgresql#database#pg