Настройка копирования PTRACK

Режим копирования PTRACK может использоваться только в инсталляциях Postgres Pro Standard и Postgres Pro Enterprise или в ванильных патчах PostgreSQL.

В pg_probackup3 есть два приложения для резервного копирования в режиме PTRACK:

  • Приложение PTRACK для создания резервных копий в режиме DIRECT.

  • Приложение pb3_ptrack для резервного копирования в режиме PRO.

Если вы намерены использовать режим копирования PTRACK в режиме DIRECT, выполните описанные далее дополнительные действия.

Примечание

Для роли, которая будет выполнять резервное копирование в режиме PTRACK (роль backup в примерах ниже), требуемые права доступа указаны в «Настройка кластера баз данных». Роль должна иметь права только в той базе данных, которая используется для подключения к серверу Postgres Pro.

  1. Добавьте ptrack в переменную shared_preload_libraries в файле postgresql.conf:

    shared_preload_libraries = 'ptrack'
  2. Чтобы включить отслеживание изменений страниц, задайте для параметра ptrack.map_size положительное целое значение и перезапустите сервер.

    Для оптимальной производительности рекомендуется задавать ptrack.map_size равным N / 1024, где N — объём кластера Postgres Pro в мегабайтах. Если этот параметр будет иметь меньшее значение, это увеличит вероятность наложения информации разных блоков в карте PTRACK, что повлечёт ложные положительные результаты при определении изменённых блоков и, как следствие, увеличение размера инкрементальной копии, так как в копию будут попадать и фактически неизменённые блоки. Использовать значения ptrack.map_size, превышающие 1024, не рекомендуется, хотя PTRACK поддерживает большие карты.

    Примечание

    В случае изменения значения ptrack.map_size ранее созданный файл карты PTRACK очищается, и отслеживание новых блоков начинается с начала. Таким образом, прежде чем создавать новые инкрементальные копии в режиме PTRACK после изменения ptrack.map_size необходимо сделать новую полную копию кластера.

  3. Создайте расширение PTRACK:

    CREATE EXTENSION ptrack;

Чтобы создавать резервные копии в режиме PRO, задайте для параметра pb3_ptrack.map_size положительное целое значение в файле postgresql.conf и перезапустите сервер.

Для оптимальной производительности рекомендуется задавать pb3_ptrack.map_size равным N / 1024, где N — объём кластера 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 одновременно приведёт к критическим ошибкам и сбою резервного копирования. Убедитесь, что активировано только необходимое приложение.