最近调查Postgresqlcrash,整理了下一般常见的几种原因。
1. Postgresql版本更新
Postgresql的一般维护期为5年。5年内,会不断对发现的bug进行修复。
因此,我们需要及时更新Postgresql。避免触发bug发生crash。
2. 磁盘空间满
磁盘空间满是导致Postgresql crash的一个常见原因。
因此对磁盘监控,是非常必要的事情。
比如删除了pg_clog/pg_xlog/pg_log
4. 内存OOM
shared_buffers设置过大。
work_mem设置不足。
connections过多导致内存不足。
5. 硬件问题
使用未经验证,不兼容的硬件。
磁盘故障。
系统长时间运行。
6. 太多的连接。
7. zombie locks
transaction未释放。