アーカイブライブラリは、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
コールバックのみが必要です。
その他はオプションです。