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

第 24 章 数据库的例行维护任务

目录

24.1. 例行清理
24.1.1. 清理基础知识
24.1.2. 恢复磁盘空间
24.1.3. 更新规划器统计信息
24.1.4. 更新可见性映射
24.1.5. 防止事务 ID 回绕失败
24.1.6. Autovacuum 守护进程
24.2. 例行重建索引
24.3. 日志文件维护

PostgreSQL 与任何数据库软件一样,为了达到最佳性能,需要定期执行某些任务。这里讨论的任务是必需的,但它们的性质是重复性的,并且可以使用标准的工具(如 cron 脚本或 Windows 的 Task Scheduler)轻松实现自动化。设置适当的脚本并检查其是否成功执行是数据库管理员的职责。

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

另一类主要的维护任务是数据库的定期清理。这项活动在第 24.1 节中讨论。与之密切相关的是更新将由查询规划器使用的统计信息,如第 24.1.3 节中所述。

可能需要定期关注的另一项任务是日志文件管理。这将在第 24.3 节中讨论。

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

与其他一些数据库管理系统相比,PostgreSQL 的维护量较低。尽管如此,对这些任务给予适当的关注将有助于确保在该系统上获得愉快且富有成效的体验。