Содержание
Digital Q.DataBase предоставляет инфраструктуру для создания пользовательских модулей непрерывного архивирования (см. Раздел 3.10.3). Хотя архивирование с помощью команды оболочки (т. е. archive_command) значительно проще, пользовательский модуль архивирования зачастую оказывается гораздо более надёжным и производительным.
Когда настроен пользовательский archive_library модуль, Digital Q.DataBase будет передавать завершённые файлы WAL этому модулю, и сервер не будет перезаписывать или удалять эти файлы WAL до тех пор, пока модуль не подтвердит их успешное архивирование. В конечном итоге решение о том, что делать с каждым файлом WAL, остаётся за модулем, однако ряд рекомендаций приведён в Раздел 3.10.3.1.
Модули архивирования должны как минимум состоять из функции инициализации (см. Раздел 5.14.1) и необходимых функций обратного вызова (см. Раздел 5.14.2). Тем не менее, модули архивирования могут выполнять и более широкий спектр задач (например, объявлять параметры GUC и регистрировать фоновые рабочие процессы).
Модуль contrib/basic_archive содержит рабочий пример, демонстрирующий некоторые полезные методики.