Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

第 25 章. 例行数据库维护任务

目录

25.1. 例行 VACUUM
25.1.1. VACUUM 基础知识
25.1.2. 回收磁盘空间
25.1.3. 更新规划器统计信息
25.1.4. 更新可见性映射
25.1.5. 防止事务 ID 环绕故障
25.1.6. 自动 VACUUM 守护进程
25.2. 例行 REINDEX
25.3. 日志文件维护

PostgreSQL 与任何数据库软件一样,都需要定期执行某些任务以实现最佳性能。此处讨论的任务是必需的,但它们本质上是重复性的,可以使用标准工具(例如 cron 脚本或 Windows 的 任务计划程序)轻松实现自动化。数据库管理员有责任设置适当的脚本,并检查它们是否成功执行。

一项显而易见的维护任务是在定期计划中创建数据的备份副本。如果没有最近的备份,您在发生灾难(磁盘故障、火灾、错误地删除关键表等)后将无法恢复。在 PostgreSQL 中可用的备份和恢复机制在第 26 章中进行了详细讨论。

另一个主要的维护任务类别是定期对数据库进行vacuuming。此活动在第 25.1 节中讨论。与之密切相关的是更新查询计划程序将使用的统计信息,如第 25.1.3 节中所讨论的。

另一个可能需要定期关注的任务是日志文件管理。此内容在第 25.3 节中讨论。

check_postgres可用于监控数据库运行状况并报告异常情况。 check_postgres与 Nagios 和 MRTG 集成,但也可以独立运行。

与其他一些数据库管理系统相比,PostgreSQL的维护成本较低。尽管如此,妥善关注这些任务将极大地确保用户获得愉快且高效的系统体验。