PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

Chapter 49. 归档模块

Table of Contents

49.1. 初始化函数
49.2. 归档模块回调接口
49.2.1. 启动回调(Startup Callback)
49.2.2. 健康与就绪检查回调(Check Callback)
49.2.3. 文件归档回调(Archive Callback)
49.2.4. 注销与销毁回调(Shutdown Callback)

PostgreSQL 提供了用于开发自定义连续归档模块的基础设施(参见 Section 25.3)。相较于传统的外部 Shell 脚本归档(参数 archive_command),采用 C 语言编写的原生归档动态共享模块(Archive Module)在性能、并发控制与系统健壮性上具有显著优势。

当配置了自定义归档库参数 archive_library 时,PostgreSQL 归档进程会自动将写满的 16MB WAL 段文件交由该模块处理。在模块明确应答已成功完成远程或外部持久化归档之前,服务端绝不会过早回收或删除该 WAL 段文件。

官方源码树中的 contrib/basic_archive 模块提供了一个功能完整的标准实现范例。