归档库是通过动态加载共享库的方式载入的,该共享库以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回调是必需的,其余回调都是可选的。
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。