PostgreSQL 提供了基础设施来创建用于连续存档的自定义模块(参见 第 25.3 节)。虽然通过 shell 命令(例如 archive_command)进行存档要简单得多,但自定义存档模块通常会更加健壮且性能更高。
当配置了自定义 archive_library 时,PostgreSQL 会将已完成的 WAL 文件提交到该模块,并且服务器会在模块指示文件已成功存档之前,避免回收或删除这些 WAL 文件。最终由模块决定对每个 WAL 文件进行的操作,但在 第 25.3.1 节 中列出了许多建议。
存档模块至少应包含一个初始化函数(参见 第 49.1 节)和必需的回调(参见 第 49.2 节)。但是,存档模块也允许执行更多操作(例如,声明 GUC 和注册后台工作进程)。
该 contrib/basic_archive
模块包含一个工作示例,它演示了一些有用的技术。
如果您在文档中看到任何不正确的内容、与您对特定功能的体验不符或需要进一步说明的内容,请使用 此表格 报告文档问题。