Table of Contents
PostgreSQL 提供了用于开发自定义连续归档模块的基础设施(参见 Section 25.3)。相较于传统的外部 Shell 脚本归档(参数 archive_command),采用 C 语言编写的原生归档动态共享模块(Archive Module)在性能、并发控制与系统健壮性上具有显著优势。
当配置了自定义归档库参数 archive_library 时,PostgreSQL 归档进程会自动将写满的 16MB WAL 段文件交由该模块处理。在模块明确应答已成功完成远程或外部持久化归档之前,服务端绝不会过早回收或删除该 WAL 段文件。
官方源码树中的 contrib/basic_archive 模块提供了一个功能完整的标准实现范例。