数据库维护
用于监视数据库运行状况并报告异常情况:
check_postgres
PostgreSQL的VACUUM命令必须定期处理每个表,原因如下:
恢复或重用已更新或已删除行占用的磁盘空间
更新PostgreSQL查询计划程序使用的数据统计信息
更新可见性映射,从而加速 仅索引扫描
防止由于事务ID环绕或多重ID环绕而丢失非常旧的数据。
有两种变体VACUUM:
VACUUM FULL可以回收更多的磁盘空间,但运行速度要慢得多.
标准VACUUM可以与生产数据库操作并行运行.
建议使用标准VACUUM
使用autovacuum守护程序:守护程序会响应更新活动而动态地进行真空吸尘.
日志文件维护
有一个内置的日志轮换工具,您可以通过将配置参数设置logging_collector为true
来使用postgresql.conf
.
管理日志输出的生产级方法是将其发送到syslog并让syslog处理文件轮换.请将配置参数设置log_destination为syslog(仅记录到syslog)postgresql.conf
。
要自动执行日志轮换,可以将logrotate程序配置为使用syslog
中的日志文件。
pgBadger是一个外部项目,可以进行复杂的日志文件分析。
pgBadger官网: https://pgbadger.darold.net/
源码下载和用法: https://github.com/darold/pgbadger
postmaster.pid和postmaster.opts 记录有关正在运行的postmaster的信息.