Глава 1. О pg_probackup3

Утилита pg_probackup3 создана для управления резервным копированием и восстановлением кластеров баз данных PostgreSQL. Она поддерживает Postgres Pro и PostgreSQL 15 и выше.

В pg_probackup3 входит вся ключевая функциональность предыдущих версий утилиты pg_probackup. Некоторые менее популярные функции могут отсутствовать, но будут добавлены в будущем.

В сравнении с pg_probackup, pg_probackup3 содержит следующие новые функции и улучшения:

  • Версионная независимость. Одна и та же версия pg_probackup3 теперь может использоваться с различными версиями Postgres Pro или PostgreSQL, обеспечивая совместимость и адаптивность.

  • Интеграция с API. pg_probackup3 может интегрироваться с различными системами резервного копирования через API, что обеспечивает централизованное управление резервным копированием.

  • Работа без SSH. pg_probackup3 может работать без SSH-соединения, гарантируя более эффективную и безопасную передачу данных.

  • FUSE: В pg_probackup3 реализована команда fuse, которая с помощью механизма FUSE (Filesystem in User Space, Файловая система в пользовательском пространстве) обеспечивает работу с базой данных прямо из резервной копии, минуя этап полного восстановления.

  • Запуск от имени непривилегированных пользователей. pg_probackup3 может запускаться пользователями, не имеющими прав доступа к PGDATA. Это повышает уровень безопасности и снижает риск возможных ошибок.

  • Новый формат резервных копий. Каждая резервная копия теперь хранится в виде единого файла, что облегчает управление и хранение резервных копий.

  • Поддержка pg_basebackup. В режиме источника данных BASE теперь возможно использовать репликационный протокол pg_basebackup для повышения скорости и эффективности резервного копирования.

  • Режим PRO. В режиме источника данных PRO pg_probackup3 использует собственный репликационный протокол, доступный исключительно в Postgres Pro Enterprise.

  • Объединение цепочек инкрементальных копий. Для экономии места на диске теперь можно объединять цепочки инкрементальных резервных копий.

  • Полностью переработанное ядро

  • Новая архитектура

  • Улучшенная производительность

Примечание

Некоторые функции pg_probackup3 зависят от возможностей, специфичных для Postgres Pro Enterprise. Эти функции автоматически отключаются в версии pg_probackup3, поставляемой с Postgres Pro Standard.

Установка pg_probackup3

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

  • libpgprobackup3 — содержит разделяемую библиотеку, предоставляющую API для создания резервных копий, а также динамическую библиотеку libpb3_encoder.so, которая загружается соответствующим расширением сервера.

  • pg_probackup3 — содержит консольную утилиту для работы с резервными копиями.

Примечание

Все пакеты необходимо устанавливать и удалять совместно, так как pg_probackup3 и libpgprobackup3 поддерживают только версии Postgres Pro 15 и выше.

Примечание

Перед установкой pg_probackup3 убедитесь, что у вас установлен модуль pgpro_bindump.

Чтобы установить pg_probackup3, выполните следующие действия:

  1. Скачайте архив с пакетами

    Скачайте архив с пакетами по предоставленной ссылке. В архиве находятся тестовые репозитории сборки pg_probackup3 для следующих операционных систем:

    • Debian 12

    • Astra Linux «Смоленск» 1.8

    • Ubuntu 22.04/24.04

    • RHEL 9

  2. Распакуйте архив

    Распакуйте архив с помощью следующей команды:

    tar -xvzf pbk3.tar.gz pbk3/
  3. Настройте репозиторий

    1. Установите ключ GPG.

      В архиве есть каталог keys, который содержит ключ GPG для подключения репозитория. Установите ключ в зависимости от вашей системы.

      • Для систем на базе Debian:

        sed -n '/^$/,/=$/p' "/path/to/pbk3/keys/GPG-KEY-POSTGRESPRO" | base64 -d | sudo tee "/etc/apt/trusted.gpg.d/postgrespro.gpg" > /dev/null
      • Для систем на базе RHEL:

        sudo rpm --import /path/to/pbk3/keys/GPG-KEY-POSTGRESPRO
    2. Подключите репозиторий.

      • Для систем на базе Debian создайте файл /etc/apt/sources.list.d/pbk3.list со следующим содержимым.

        • Для Ubuntu 24.04:

          deb file:///path/to/pbk3/ubuntu noble main
        • Для Ubuntu 22.04:

          deb file:///path/to/pbk3/ubuntu jammy main
      • Для систем на базе RHEL создайте файл /etc/yum.repos.d/pbk3.repo со следующим содержимым:

        [pbk3]
        name=pbk3
        baseurl=file:///path/to/pbk3/rhel/9Server/os/x86_64/rpms
        enabled=1
        gpgcheck=1
  4. Установите пакеты

    • Для систем на базе Debian после подключения репозитория обновите список пакетов:

      sudo apt update

      Затем установите необходимые пакеты:

      sudo apt install libpgprobackup3 pg-probackup3
    • Для систем на базе RHEL выполните установку через yum:

      sudo yum install libpgprobackup3 pg-probackup3

      Или через dnf:

      sudo dnf install libpgprobackup3 pg-probackup3
  5. Проверьте установку

    Убедитесь, что пакеты установлены корректно.

    1. Проверьте версию Postgres Pro:

      /opt/pgpro/ent-16/bin/postgres --version
    2. Проверьте версию pg_probackup3:

      pg_probackup3 --version
  6. Настройте Postgres Pro для работы с pg_probackup3

    Чтобы включить pg_probackup3, добавьте следующие параметры в файл postgresql.conf:

    shared_preload_libraries = 'pgpro_bindump'
    wal_level = 'replica'  # or 'logical'
    walsender_plugin_libraries = 'pgpro_bindump'

После завершения установки необходимо перезапустить экземпляр Postgres Pro.