OLDESTKEPTWALFILE=`sed -n '1000p' /kingdee/cosmic/postgres/walname.log` echo "最后第1000个的pg_wal日志是:${OLDESTKEPTWALFILE}" >> /kingdee/cosmic/postgres/archivecleanup.log echo "# ${backup_date} ${backup_time} ,周 ${backup_week_day}: 保留 ${OLDESTKEPTWALFILE} 之后的日志" >> /...
pg_archivecleanup <归档目录路径> <开始清理的 WAL 文件名> 其中<归档目录路径>是归档目录的路径,<开始清理的 WAL 文件名>是要保留的最新 WAL 文件的名称。 手动删除 WAL 文件:如果你没有设置归档命令,或者想要手动删除一些 WAL 文件,可以按以下步骤进行: 停止PostgreSQL 实例。 在$PGDATA/pg_wal/目录中删除...
也可以通过pg_archivecleanup清理(前提是没有配置archive_command路径,使用默认路径pg_log) 执行如下命令将会清除000000010000003700000007之前的所有日志。 1 pg_archivecleanup -d $PGDATA/pg_wal 000000010000003700000007 PS:我自己是直接用下面的脚本清理,很好用!定时任务:每周5的凌晨2点执行 1 0 2 * * 5cd/home/...
步骤3:使用 pg_archivecleanup 删除 WAL 使用pg_archivecleanup删除不再需要的 WAL 文件。这个工具会根据指定文件的名称,删除所有较旧的 WAL 文件。 AI检测代码解析 # 清理 WAL 文件pg_archivecleanup /path/to/archive 0000000100000002000000B1# 删除所有旧文件 1. 2. 步骤4:验证 WAL 文件是否已经删除 验证操作是...
pg_archivecleanup /path/to/pg_wal/ <最后一个需要保留的WAL文件名> 其中,/path/to/pg_wal/是WAL文件的路径,<最后一个需要保留的WAL文件名>是最后一个需要保留的WAL文件的名称。 手动删除不再需要的WAL文件(如果没有设置归档命令): 在停止PostgreSQL实例后,可以手动删除$PGDATA/pg_wal/目录中不...
然后使用pg_archivecleanup命令来清理。 # 1. 读取控制文件,找到哪个文件是可以被清理的pg_controldata$PGDATALatest checkpoint location: 1/E000028 Prior checkpoint location: 1/D18C068 Latest checkpoint's REDO location: 1/E000028 Latest checkpoint's REDO WAL file: 00000001000000010000000E# 表示00000001000000...
一定要做这一步,要不然pg_archivecleanup 命令无法执行 $ pg_controldata|grep checkpoint 如上检查点E/A13D5BD0已执行,已包含在日志文件000000010000000E00000005,中,这个日志文件之前的是可以清理的。 pg_archivecleanup /data/cosmic/cosmic/postgres/pg_data/pg_wal 000000010000000E00000005 ...
cleanup_command删除不再需要的归档WAL段。1.使用使主服务器保留适量WAL的复制插槽。我建议选择2或3。
非常危险的一点,概括而言,pg会将最旧的一些wal日志重命名为最新的名字,但利用ll -rth排序查看时,其时间并不会变化。而pg_archivecleanup工具只根据文件名进行判断,很可能导致需要的文件被删除。具体分析参考postgresql源码学习(58)—— 删除or重命名WAL日志?这是一个问题 ...
pg_archivecleanup 清理未归档wal pg清理wal日志,数据库数据目录下pg_wal的WAL文件在开启归档的模式下会将已归档WAL文件自动清理,具体流程是,转储WAL段文件到disk,写满或者使用pg_switch_wal()后,会生成000000xxxx.ready文件,调用archive_command命令且成功执行后,将