选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 配置参数 / 预写式日志

CONFIGURATION PARAMETER预写式日志 / 归档

archive_library

设置归档 WAL 文件时调用的库。

Sets the library that will be called to archive a WAL file.

字符串 重载生效 引入 15 现存至 20 devel 0 次默认值变更

类型
字符串string
上下文
重载生效改配置文件后重载(pg_ctl reload / SIGHUP)即可生效
默认值
空字符串原始值 ''
引入版本
15
状态
现存

PostgreSQL 18 手册 官方文档 引入提交 5ef1eefd76

版本轨迹

相对 PostgreSQL 17 仅简述或分类有更新。

默认值变迁

空字符串 15 – 20

默认值自 PostgreSQL 15 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.5 预写式日志 本站手册 官方原文

用于归档已完成的WAL文件段的库。如果设置为空字符串(默认值),则通过shell进行归档,并使用archive_command。 否则,指定的共享库用于归档。当此参数更改时,postmaster会重新启动WAL归档进程。有关更多信息,请参见Section 25.3.1Chapter 49

这个参数只能在postgresql.conf文件中或者服务器命令行中设置。

机制详解

设置归档 WAL 文件时调用的库。重新加载配置即可应用新值;已经开始的工作不会被追溯改变。

非空值通过 _PG_archive_module_init 回调选择归档模块,取代 shell 命令。archive_command 与 archive_library 是二选一实现;二者可重载,但 archive_mode 必须已经启用。

应把 archive_library 与 archive_mode、archive_command、archive_timeout 一起监控和变更。先在对应角色与真实负载上验证,再按其 sighup context 选择会话修改、reload 或 restart;历史默认值并不等于当前有效值。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    把 archive_library 作为备份/恢复协议的一部分管理:命令或模块必须幂等、失败可见,并通过从真实归档恢复来验证,而不是只看返回码。

  • OLAP分析与批处理

    按批量装载 WAL 峰值配置归档吞吐与容量;归档跟不上时节流任务并报警,不能用虚假成功或激进清理掩盖积压。

  • 小规格低配实例与开发机

    有明确 PITR 需求才启用并交给成熟备份工具;可重建实例保持简单,但不要留下占位命令制造“已备份”的错觉。

常见问题

  • 同时配置库,却期待 archive_command 在库失败时自动兜底。
  • 把不可信归档代码加载到服务器进程内。
  • 把模块返回成功误当成归档一定可恢复。
  • reload 到新模块后未验证积压处理、失败报告和回滚。
  • 模块反复失败却没有归档延迟告警,最终让保留 WAL 填满 pg_wal。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 18 ← 17 仅描述更新

    补充说明 An empty string indicates that "archive_command" should be used. An empty string means use "archive_command".

  3. PostgreSQL 15 ← 14 新增此参数

    PostgreSQL 15 起可用

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
15 空字符串 重载生效 字符串
16 空字符串 重载生效 字符串
17 空字符串 重载生效 字符串
18 空字符串 重载生效 字符串
19 空字符串 重载生效 字符串
20 沿用 空字符串 重载生效 字符串

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Write-Ahead Log 预写式日志 4 个
归档 4
archive_command 字符串 重载生效 空字符串
设置归档 WAL 文件时调用的 shell 命令。 现存
archive_library 字符串 重载生效 空字符串
设置归档 WAL 文件时调用的库。 现存
archive_mode 枚举 重启生效 off 9.51 次
允许使用 archive_command 归档 WAL 文件。 现存
archive_timeout 整数 重载生效 0 s
设置强制切换到下一个 WAL 文件前的最长等待时间。 现存