PostgreSQL例行维护

汽车需要上油,数据库也需要维护保养。对Pg而言,有三项比较重要的维护工作:备份、重整、清理

汽车需要上油,数据库也需要维护保养。

PG中的维护工作

对Pg而言,有三项比较重要的维护工作:备份、重整、清理

  • 备份(backup):最重要的例行工作,生命线。
    • 制作基础备份
    • 归档增量WAL
  • 重整(repack)
    • 重整表与索引能消除其中的膨胀,节约空间,确保查询性能不会劣化。
  • 清理(vacuum)
    • 维护表与库的年龄,避免事务ID回卷故障。
    • 更新统计数据,生成更好的执行计划。
    • 回收死元组。节约空间,提高性能。

备份

备份可以使用pg_backrest 作为一条龙解决方案,但这里考虑使用脚本进行备份。

参考:pg-backup

重整

重整使用pg_repack,PostgreSQL自带源里包含了pg_repack

参考:pg-repack

清理

虽然有AutoVacuum,但手动执行Vacuum仍然有帮助。检查数据库的年龄,当出现老化时及时上报。

参考:pg-vacuum