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