Skip to content

51.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回调。其他回调是可选的。