归档库是通过动态加载一个共享库来加载的,该共享库的库基本名称与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
回调是必需的。其他的都是可选的。
如果您在文档中看到任何不正确、与您使用特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。