Режим PTRACK
PTRACK — сокращение от Physical Truncate Tracking. PTRACK используется PostgreSQL для эффективного управления и отслеживания изменений в файлах базы данных.
PTRACK хранит сведения о том, какие страницы файлов были изменены и требуют записи на диск. СУБД отслеживает изменения в памяти и группирует их для последующей записи. При каждом изменении страницы добавляется отметка в PTRACK.
PTRACK используется при включенной опции full_page_writes
(postgresql.conf
).
Для корректной работы подмодуля необходимо расширение ptrack
версии 2.6.0 или выше.
|
1. Настройка копирования в режиме PTRACK
Перед выполнением инкрементальной резервной копии в режиме PTRACK настройте PostgreSQL на работу с PTRACK.
-
Установите в конфигурационном файле
postgresql.conf
параметруshared_preload_libraries
значениеptrack
. -
Добавьте в конец конфигурационного файла
postgresql.conf
параметрptrack.map_size
и установите его значение равнымN
÷ 1024, гдеN
— объём кластера в мегабайтах. Увеличивать значениеptrack.map_size
сверх этого не рекомендуется. Максимально допустимое значениеptrack.map_size
—1024
.Если до этих изменений была сделана полная резервная копия, то после вступления изменений в силу необходимо сделать новую полную резервную копию, иначе инкрементальное резервное копирование в режиме PTRACK завершится с ошибкой. -
Перезапустите сервис.
sudo systemctl restart <database_service>
-
Войдите в БД от имени администратора СУБД.
sudo -u postgres psql -d <backupdb>
-
Загрузите расширение
ptrack
.CREATE EXTENSION ptrack;
Теперь модуль может выполнять инкрементальное резервное копирование в режиме PTRACK.