Глава 48. Модули архивации#

Глава 48. Модули архивации

Глава 48. Модули архивации

PostgreSQL предоставляет инфраструктуру для создания пользовательских модулей для непрерывного архивирования (см. Раздел 24.3). В то время как архивирование с помощью команды оболочки (т.е. archive_command) намного проще, пользовательский модуль архивирования часто будет намного более надежным и производительным.

Когда настраивается пользовательский archive_library, PostgreSQL будет отправлять завершенные файлы WAL в модуль, и сервер будет избегать повторного использования или удаления этих файлов журнала предзаписи, пока модуль не указывает, что файлы были успешно архивированы. В конечном итоге решение о том, что делать с каждым файлом журнала предзаписи, остается за модулем, но множество рекомендаций перечислено на странице Раздел 24.3.1.

Все модули архивации должны как минимум содержать функцию инициализации (см. Раздел 48.1) и необходимые обратные вызовы (см. Раздел 48.2). Однако, модулям архивации также разрешено делать гораздо больше (например, объявлять GUC-переменные и регистрировать фоновые процессы).

Модуль contrib/basic_archive содержит рабочий пример, демонстрирующий некоторые полезные техники.