archive_cleanup_command

类型: string
上下文: sighup
重新开始: false
以来: 12

这个可选参数指定了一个 shell 命令,它将在每一个重启点被执行。 archive_cleanup_command的目的是提供一种清除不再被后备服务器需要的旧的已归档 WAL 文件的机制。 任何%r会被替换为包含最后一个可用重启点的文件的名称。 那是使一次恢复变成可重启的所必须被保留的最早的文件,并且因此比%r更早的所有文件可以被安全地移除。 这个信息可以被用来把归档截断为支持从当前恢复重启所需的最小值。 对于单一后备配置,pgarchivecleanup模块常常被用在archive_cleanup_command中,例如:archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r' 但是注意,如果多个后备服务器正在从同一个归档目录中恢复,你将需要保证只有当任意服务器都不再需要 WAL 文件时才会删除它们。 archive_cleanup_command通常被用于一种温后备配置(见warm-standby)中。 要在该命令中嵌入一个真正的%字符,需要写成%%

如果该命令返回一个非零退出状态,则将会写出一个警告日志消息。 一个例外是如果该命令被一个信号或者一个 shell 错误(例如命令未找到)终止,则会抛出一个致命错误。

这个参数只能在 postgresql.conf 文件中设置或通过服务器命令行的方式。

条评论