The four horsemen behind Postgres outages
3 days ago
- #Database Optimization
- #pgrust
- #PostgreSQL
- PostgreSQL 常见故障是由于真空和事务ID回绕造成的,其中删除的行累积,32位ID会导致数据库关闭,如果不回收的话。
- 连接限制和基于进程的并行性导致扩展问题,需要重启或使用像PgBouncer这样的工具,而基于线程的模型在pgrust中提供了一个更安全的替代方案。
- 糟糕的查询计划可能会严重减慢查询速度,并且对规划器的控制有限,不像那些允许提示的数据库;pgrust旨在构建一个自适应查询规划器。
- PostgreSQL中的JSON缺乏统计和压缩功能,导致查询计划效率低下和存储问题;pgrust计划添加真实的统计和压缩功能来解决这个问题。