49.1. Функции инициализации

Библиотека архивирования загружается путём динамической загрузки общей библиотеки с базовым именем archive_library. Для нахождения файла библиотеки просматривается обычный путь поиска библиотек. Чтобы предоставить требуемые обработчики модуля архивирования и указать, что библиотека на самом деле является модулем архивирования, она должна содержать функцию с именем _PG_archive_module_init. Этой функции передаётся структура, которую необходимо заполнить указателями на функции-обработчики для отдельных действий.

typedef struct ArchiveModuleCallbacks
{
    ArchiveCheckConfiguredCB check_configured_cb;
    ArchiveFileCB archive_file_cb;
    ArchiveShutdownCB shutdown_cb;
} ArchiveModuleCallbacks;
typedef void (*ArchiveModuleInit) (struct ArchiveModuleCallbacks *cb);

Обязательным является только обработчик archive_file_cb, любые другие могут отсутствовать.