Skip to content

第 51 章. 归档模块

目录

51.1. 初始化函数
51.2. 归档模块回调
51.2.1. 启动回调
51.2.2. 检查回调
51.2.3. 归档回调
51.2.4. 关闭回调

PostgreSQL 提供了用于创建连续归档自定义模块的基础设施(请参阅第 26.3 节)。尽管通过 shell 命令(即archive_command)进行归档要简单得多,但自定义归档模块通常会更加健壮且性能更高。

当配置了自定义archive_library时,PostgreSQL 会将已完成的 WAL 文件提交给该模块,并且在该模块指示已成功归档这些文件之前,服务器将避免回收或删除这些 WAL 文件。最终由该模块决定对每个 WAL 文件执行什么操作,但第 26.3.1 节中列出了许多建议。

归档模块至少必须包含一个初始化函数(请参阅第 51.1 节)和必需的回调(请参阅第 51.2 节)。但是,归档模块还可以执行更多操作(例如,声明 GUC 和注册后台工作进程)。

contrib/basic_archive模块包含一个工作示例,演示了一些有用的技术。