# 皮克_归档清理

皮克_archivecleanup — 清理 PostgreSQL WAL 归档文件

# 概要

pg_archivecleanup [选项...] 档案位置 最旧的保存文件

# 描述

皮克_archivecleanup 旨在用作归档清理命令在作为备用服务器运行时清理 WAL 文件存档(请参阅第 27.2 节)。皮克_archivecleanup 也可以用作一个独立的程序来清理 WAL 文件档案。

配置备用服务器以使用 pg_归档清理,把它放到它的postgresql.conf配置文件:

archive_cleanup_command = 'pg_archivecleanup archivelocation %r'

在哪里*档案位置*是应该从中删除 WAL 段文件的目录。

内使用时档案_清理_命令, 所有 WAL 文件在逻辑上位于%r参数将被删除*档案位置.这最大限度地减少了需要保留的文件数量,同时保留了崩溃重启功能。使用此参数是适当的,如果档案位置是此特定备用服务器的临时暂存区,但不是当。。。的时候档案位置*旨在作为长期 WAL 存档区域,或者当多个备用服务器从同一存档位置恢复时。

当用作独立程序时,所有逻辑上位于*最旧的保存文件将从中删除档案位置.在这种模式下,如果您指定一个。部分的或者.backup文件名,那么只有文件前缀将用作最旧的保存文件*.这种治疗.backup文件名允许您删除在特定基础备份之前归档的所有 WAL 文件而不会出错。例如,以下示例将删除所有早于 WAL 文件名的文件000000010000003700000010

pg_archivecleanup -d archive 000000010000003700000010.00000020.backup

pg_archivecleanup:  keep WAL file "archive/000000010000003700000010" and later
pg_archivecleanup:  removing file "archive/00000001000000370000000F"
pg_archivecleanup:  removing file "archive/00000001000000370000000E"

皮克_archivecleanup 假设*档案位置*是拥有服务器的用户可读写的目录。

# 选项

皮克_archivecleanup 接受以下命令行参数:

-d

打印大量调试日志输出标准错误.

-n

打印将被删除的文件的名称标准输出(执行试运行)。

-V
- 版本

打印 pg_archivecleanup 版本并退出。

-x 延期

在决定是否应该删除它们之前,提供一个将从所有文件名中删除的扩展名。这通常用于清理在存储期间已压缩的存档,因此压缩程序添加了扩展名。例如:-x .gz.

-?
- 帮助

显示关于 pg 的帮助_archivecleanup 命令行参数,然后退出。

# 环境

环境变量PG_COLOR指定是否在诊断消息中使用颜色。可能的值为总是,汽车绝不.

# 笔记

皮克_archivecleanup 设计为在用作独立实用程序时与 PostgreSQL 8.0 及更高版本一起使用,或者在用作存档清理命令时与 PostgreSQL 9.0 及更高版本一起使用。

皮克_archivecleanup 是用 C 编写的,有一个易于修改的源代码,有专门指定的部分可以根据您自己的需要进行修改

# 例子

在 Linux 或 Unix 系统上,您可以使用:

archive_cleanup_command = 'pg_archivecleanup -d /mnt/standby/archive %r 2>>cleanup.log'

其中存档目录物理上位于备用服务器上,因此归档命令正在通过 NFS 访问它,但文件是备用的本地文件。这会:

  • 产生调试输出清理日志

  • 从归档目录中删除不再需要的文件