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

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

pg_probackup3 поддерживает следующие версии PTRACK:

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

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

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

Примечание

Для роли, которая будет выполнять резервное копирование в режиме PTRACK (роль backup в примерах ниже), требуемые права доступа указаны в Раздел 2.6. Роль должна иметь права только в той базе данных, которая используется для подключения к серверу 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 одновременно приведёт к критическим ошибкам и сбою резервного копирования. Убедитесь, что активировано только необходимое приложение.