在Ubuntu上优化PostgreSQL性能可从以下方面入手:
调整配置参数
postgresql.conf文件,关键参数包括:
shared_buffers:设为系统内存的25%-50%。work_mem:根据查询复杂度调整(如排序、哈希操作),默认1MB可适当增大。effective_cache_size:设为系统可用内存大小,帮助优化器利用缓存。max_connections:根据并发需求调整(默认100,建议不超过500),过大需配合连接池。sudo systemctl restart postgresql。索引优化
CREATE INDEX idx_column ON table(column))。CREATE INDEX idx_multi ON table(col1, col2))。REINDEX TABLE table_name或VACUUM ANALYZE。查询优化
EXPLAIN/EXPLAIN ANALYZE分析执行计划,避免全表扫描,优先使用索引。SELECT *,用JOIN替代子查询,合理使用WHERE过滤。硬件与存储优化
连接池与维护
VACUUM清理死元组,ANALYZE更新统计信息。监控与调优工具
pg_stat_statements监控慢查询,定位性能瓶颈。pg_stat_activity查看活跃连接,优化连接数配置。注意:修改配置前需备份数据,生产环境建议先在测试环境验证。
参考来源: