52.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
, любые другие могут отсутствовать.