核心参数调整
# 示例:4GB内存设为1GB
sudo nano /etc/postgresql/14/main/postgresql.conf
shared_buffers = '1GB'
内存分配策略优化
autovacuum
并调整autovacuum_work_mem
,控制自动清理内存使用。PARTITION BY
),减少单表内存占用。并发与缓存优化
max_connections
控制并发连接数,避免内存耗尽,建议不超过服务器CPU核心数×2+有效磁盘数。pg_stat_statements
监控慢查询,优化高内存消耗的SQL语句。工具与自动化
pgtune
工具生成内存配置建议,适配不同硬件环境。VACUUM
和ANALYZE
,避免死元组堆积导致内存碎片。pg_stat_activity
和pg_stat_user_tables
监控内存使用情况,验证优化效果。参考来源: