本文汇总了云数据库 PostgreSQL 版内核特性相关的问题和建议。
事务 ID(XID)作为 PostgreSQL 内核资源之一,会在事务的执行过程被逐渐消耗(回卷)。内核在后台会不断的通过 Vacuum 对已消耗的存量事务 ID 进行回收,避免耗尽。当单表过大、单实例数据空间过大或实例长期处于高频次增删改状态时,会导致 Vacuum 回收事务 ID 的速度低于实例增删改消耗事务 ID 的速度,进而导致事务 ID 耗尽从而引起实例无法写入。为避免这种情况,建议:
当单表大于 1TB 或者整个实例 TPS 经常性大于 1000 时,可根据业务情况,进行分库分表设计。
日常请关注“数据库最大年龄 Xids”监控项,并为其配置相关的告警策略。如果收到告警,可提交工单或者联系火山技术支持人员,协助问题的排查与解决。