电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

PostgreSQL数据库清理归档日志

来源:金蝶云社区作者:金蝶2024-09-233

PostgreSQL数据库清理归档日志

1 业务背景

安装器部署苍穹后,PostgreSQL数据库(以下简称PG数据库)默认打开归档日志。随着时间的积累,业务的增加,归档日志会占用大量磁盘空间,如果没有及时监控,则容易磁盘撑满,导致数据库服务不可用。


2 解决方案

  1. 如不需要归档,可以设置$PGDATA/postgresql.conf参数文件archive_mode = off ,关闭归档功能。

  2. 用pgbackrest工具进行物理备份,通过repo1-retention-full备份参数进行归档日志的清理。

  3. 结合归档参数和脚本清理归档日志。

  4. 使用定时任务清理归档日志。


方案2可以参考社区PG数据库物理备份文章:PostgreSQL高可用pgbackrest物理备份

                                                                   PostgreSQL备份与恢复中pgbackrest物理备份部分

本文主要讲解方案3和4。

注:以下步骤均在数据节点执行。保留的天数(reserveDay)根据项目上实际需要进行调整。


3 结合归档参数和脚本清理归档日志

3.1 编辑归档脚本

su - postgres
#脚本放置在和postgresql.conf同一层目录下
cat > $PGDATA/pg_archive_clean.sh << EOF
source /home/postgres/.bashrc
#archivelog的上一层目录
PG_ARCH=/kingdee/cosmic/postgres
#保留天数7天(根据项目实际情况修改)
reserveDay=7
test ! -f \$PG_ARCH/archivelog/\$1 && /bin/cp --preserve=timestamps \$2 \$PG_ARCH/archivelog/\$1 && find \$PG_ARCH/archivelog/* -type f -mtime +\$reserveDay -exec rm -f {} \;
EOF

3.2 配置归档相关参数

vim $PGDATA/postgresql.conf
...
#开启归档
archive_mode = on
#引用3.1的归档脚本
archive_command = 'sh pg_archive_clean.sh %f %p'
archive_timeout = 3600
...

3.3 配置参数生效

pg_ctl reload
#查看修改后的

PostgreSQL数据库清理归档日志

1 业务背景安装器部署苍穹后,PostgreSQL数据库(以下简称PG数据库)默认打开归档日志。随着时间的积累,业务的增加,归档日志会占用大量...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信