2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15
开发版本: devel

49.1. 初始化函数 #

存档库通过动态加载共享库来加载,共享库的名称是 archive_library 的库基本名称。正常库搜索路径用于定位库。为了提供所需的存档模块回调,并表明该库实际上是一个存档模块,它需要提供一个名为 _PG_archive_module_init 的函数。函数的返回值必须是指向 ArchiveModuleCallbacks 类型结构的指针,该结构包含核心代码知道如何使用存档模块所需的一切。返回值需要是服务器生命周期内的,这通常通过将其定义为全局范围的 static const 变量来实现。

typedef struct ArchiveModuleCallbacks
{
    ArchiveStartupCB startup_cb;
    ArchiveCheckConfiguredCB check_configured_cb;
    ArchiveFileCB archive_file_cb;
    ArchiveShutdownCB shutdown_cb;
} ArchiveModuleCallbacks;
typedef const ArchiveModuleCallbacks *(*ArchiveModuleInit) (void);

只需要 archive_file_cb 回调。其他回调是可选的。

提交更正

如果您在文档中发现任何不正确之处,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。