Режим копирования PTRACK может использоваться только в инсталляциях Postgres Pro Standard и Postgres Pro Enterprise или в ванильных патчах PostgreSQL.
В pg_probackup3 есть два приложения для резервного копирования в режиме PTRACK:
Если вы намерены использовать режим копирования PTRACK в режиме DIRECT, выполните описанные далее дополнительные действия.
Примечание
Для роли, которая будет выполнять резервное копирование в режиме PTRACK (роль backup
в примерах ниже), требуемые права доступа указаны в «Настройка кластера баз данных». Роль должна иметь права только в той базе данных, которая используется для подключения к серверу Postgres Pro.
Добавьте
ptrack
в переменнуюshared_preload_libraries
в файлеpostgresql.conf
:shared_preload_libraries = 'ptrack'
Чтобы включить отслеживание изменений страниц, задайте для параметра
ptrack.map_size
положительное целое значение и перезапустите сервер.Для оптимальной производительности рекомендуется задавать
ptrack.map_size
равным
, гдеN
/ 1024N
— объём кластера Postgres Pro в мегабайтах. Если этот параметр будет иметь меньшее значение, это увеличит вероятность наложения информации разных блоков в карте PTRACK, что повлечёт ложные положительные результаты при определении изменённых блоков и, как следствие, увеличение размера инкрементальной копии, так как в копию будут попадать и фактически неизменённые блоки. Использовать значенияptrack.map_size
, превышающие 1024, не рекомендуется, хотя PTRACK поддерживает большие карты.Примечание
В случае изменения значения
ptrack.map_size
ранее созданный файл карты PTRACK очищается, и отслеживание новых блоков начинается с начала. Таким образом, прежде чем создавать новые инкрементальные копии в режиме PTRACK после измененияptrack.map_size
необходимо сделать новую полную копию кластера.Создайте расширение PTRACK:
CREATE EXTENSION ptrack;
Чтобы создавать резервные копии в режиме PRO, задайте для параметра pb3_ptrack.map_size
положительное целое значение в файле postgresql.conf
и перезапустите сервер.
Для оптимальной производительности рекомендуется задавать pb3_ptrack.map_size
равным
, где N
/ 1024N
— объём кластера Postgres Pro в мегабайтах. Если он будет иметь меньшее значение, это увеличит вероятность наложения информации разных блоков в карте pb3_ptrack, что повлечёт ложные положительные результаты при определении изменённых блоков и, как следствие, увеличение размера инкрементальной копии, так как в копию будут попадать и фактически неизменённые блоки. Использовать значения pb3_ptrack.map_size
, превышающие 1024, не рекомендуется, хотя pb3_ptrack поддерживает большие карты.
Примечание
В случае изменения значения pb3_ptrack.map_size
ранее созданный файл карты pb3_ptrack очищается, и отслеживание новых блоков начинается с начала. Таким образом, прежде чем создавать новые инкрементальные копии в режиме PTRACK после изменения pb3_ptrack.map_size
необходимо сделать новую полную копию кластера.
Примечание
Модуль pgpro_bindump должен быть включён перед настройкой pbk3_ptrack.
Предупреждение
Включение обоих приложений PTRACK и pb3_ptrack одновременно приведёт к критическим ошибкам и сбою резервного копирования. Убедитесь, что активировано только необходимое приложение.