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

Chapter 24. 日常数据库维护任务

目录

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

和任何数据库软件一样,PostgreSQL为了获得最佳性能, 需要定期执行某些任务。这里讨论的任务是必需的, 但它们本质上是重复性的,因此可以很容易地用标准工具实现自动化, 例如 cron 脚本或 Windows 的 Task Scheduler。建立合适的脚本并检查其是否成功执行, 是数据库管理员的职责。

一个显而易见的维护任务,是按固定计划创建数据的备份副本。没有最近的备份, 在灾难(磁盘故障、火灾、误删关键表等)发生后就没有恢复的可能。 PostgreSQL提供的备份和恢复机制在 Chapter 25中有详细讨论。

另一大类维护任务是定期对数据库进行清理。这一活动在 Section 24.1中讨论。与之密切相关的是更新查询规划器 将会使用的统计信息,这在Section 24.1.3中讨论。

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

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

和某些其他数据库管理系统相比,PostgreSQL的维护工作量较小。 不过,适当地关注这些任务,将大大有助于确保你愉快而高效地使用该系统。