Сборка pg_probackup на ванильном PostgreSQL с патчами от 1С

17.10.25

База данных - Администрирование СУБД

Всем кто ложится спать - спокойного сна (с) В.Р. Цой. А ничто так не способствует спокойному сну, как чистая совесть и наличие бэкапов. Лучше всех в бэкапы postgres умеет команда из PostgresPro, которая написала pg_probackup и забесплатно(безвозмездно, то есть даром (с) - Сова) даёт его всем желающим. Низкий им за это поклон.

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

В той же папке из предыдущей статьи, делаем так:

# клонируем актуальную ветку git  без истории
[idiot@notebook postgresql-17.5]$ git clone --depth 1 https://github.com/postgrespro/pg_probackup contrib/pg_probackup
...
[idiot@notebook postgresql-17.5]$ make -C contrib/pg_probackup
...
[idiot@notebook postgresql-17.5]$ sudo make -C contrib/pg_probackup install
..
[idiot@notebook postgresql-17.5]$ /usr/local/pgsql/bin/pg_probackup --version
pg_probackup 2.5.15 (PostgreSQL 17.5)

Профит, конец статьи, расходимся.

 

Но в таком виде оно решительно не годится, ибо получается не статья на серьезном ресурсе, а легкомысленный твит в запрещенной соцсети.

Посему требуется налить немного воды про правильные бэкапы...

Кроме спокойного сна, бэкапы должны нам гарантировать защиту от ряда угроз. Конкретная модель угроз выбирается специфично бизнес-задачам, но в общем случае она подразумевает следующие истории

  • ошибки железа (умер диск, сбойнул или сгорел контроллер RAID и т.п.)
  • ошибки софта (сбой на уровне ОС при записи в ФС, ошибка в коде СУБД etc)
  • кривые руки (одмина, погромиста, поставщика конфигурации и проч.)
  • стихийное бедствие (пожар, ракета в сервер, кривые руки)  

Кроме вышеперечисленных, которые можно отнести к непредумышленным угрозам, есть предумышленные:

  • компроментация сервера в общем, и шифровальщики в частности
  • инсайдеры - недовольная уборщица с физическим доступом в серверную загружается с livecd, скачивает вашу терабайтную базу на флешку и продает ее конкурентам на рынке "Садовод". Ну или сисадмин ловит сезонное обострение, выполняет sudo rm -rf /, увольняется и отъезжает на Бали. Или индор разработчик перед увольнением закладывает на ДатаВремяУвольнения + 3*84600 регламентное задание, удаляющее все документы с четными номерами. 

Устав бороться с уборщицами и админами с сезонными аффективными расстройствами, кто-то из умников придумал правило "3-2-1": должно быть три копии данных, две из которых - локальные, а одна - удаленная. Это минимум миниморе резервного копирования, постараемся запомнить.

Еще один умник сообразил, что сервер не должен управлять собственным бэкапом, ибо если сломали сервер - сломали и бэкапы. Не стоит полагаться на выгрузку в dt на примонтированную самбу или на дамп базы средствами СУБД. В таком раскладе шифровальщик и самбу тоже зашифрует, и созданный дамп превратит в (псевдо)случайный набор бит. Умник назвал такую схему PUSH backup. В противовес PUSH ессно есть PULL: внешние хосты (те самые "2" из "3-2-1") подключаются к серверу, который надо бэкапить, забирают оттуда данные и хранят их где-то у себя внутре, рядом с неонкой. Бэкапируемый сервер может даже не знать, что его бэкапят. 

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

pg_probackup решительно умеет во все угрозы, перечисленные выше. Также он прекрасно умеет в pull, 3-2-1 и проверку бэкапов. Еще он умеет в ssh, поэтому будет крайне безопасно. Умеет снимать бэкап с реплики, чтобы не грузить боевой инстанс. Инкрементальные бэкапы, восстановление на заданный момент в прошлом, проверку целостности и многие-многие другия тоже умеет. Швейцарский нож мира postgres для бэкапов.

Про настройку pg_probackup есть великолепный цикл из трех статей на Хабре. Ну и официальная документация тоже хороша. Ищущий обрящет.

Продолжение следует...

В следующей серии займемся, наконец, безопасностью: на сервере postgres создадим бесправного юзера, включим его в группу postgres, чтобы он мог читать pg_data(ага-ага, тот самый --allow-group-access из первой статьи), создадим конфиг ssh, чтобы этот юзер не мог запускать ничего, кроме как pg_probackup agent. 

 

 

Вступайте в нашу телеграмм-группу Инфостарт

linux postgres backup

См. также

HighLoad оптимизация Администрирование СУБД 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

Завершаем цикл статей по совместному докладу Алены Генераловой и Александра Симонова на INFOSTART TECH EVENT 2025 о нагрузочном тестировании (НТ) на 30 000 АРМ на машине баз данных Tantor XData. В заключительной части расскажем о том, что нас ждало при запусках теста, и какие доработки СУБД Tantor Postgres были сделаны, чтобы его пройти с высоким результатом.

вчера в 12:40    266    Tantor    2    

7

HighLoad оптимизация Администрирование СУБД Программист Бесплатно (free)

Продолжаем знакомить вас с улучшениями СУБД Tantor Postgres для работы с продуктами 1С. В рамках предыдущей статьи мы разобрали арсенал специализированных функций, призванных существенно ускорить выполнение типичных для 1С операций, снизить нагрузку на инфраструктуру и упростить администрирование. Сегодня мы рассмотрим, с какими проблемами можно столкнуться при высоких значениях default_statistics_target, расскажем о новых оптимизациях для ускорения выполнения запросов, и, конечно, коснемся временных таблиц.

11.11.2025    811    Tantor    10    

5

Администрирование СУБД 1С:Элемент Системный администратор Программист Бесплатно (free)

1С:Управление ландшафтом – это инструмент, способный объединить десятки разрозненных систем, серверов и баз данных в единое управляемое пространство, где установка, обновление, администрирование и контроль за инфраструктурой 1С происходят из одной точки, а рутинные задачи решаются за пару минут. Расскажем о том, как сделать свой ИТ-ландшафт управляемым.

23.10.2025    3294    user2169944    1    

13

Администрирование СУБД Программист 1С:Предприятие 8 Россия Бесплатно (free)

Ошибка реструктуризации: "Запись не найдена в менеджере имен баз данных". Диагностика и решение проблемы.

22.08.2025    2405    a13k55    0    

17

Информационная безопасность Администрирование СУБД Системный администратор Бесплатно (free)

Рассказываем о безопасной и удобной организации доступа к кластеру 1С для всей ИТ-команды с помощью централизованного приложения управления. Автор показывает, как настроить разграничение прав, избежать типичных уязвимостей и эффективно управлять сеансами, не рискуя целостностью системы. Особое внимание уделено работе с объектной моделью 1С, прерыванию тяжелых запросов и диагностике проблем через технологический журнал.

11.08.2025    3661    evvakra    4    

9

Администрирование СУБД Программист 1С:Предприятие 8 1C:ERP Бесплатно (free)

Небольшая инструкция, откуда взять функциональную модель для системы 1С: СППР и как её загрузить.

06.08.2025    2322    Senator_I    2    

5

HighLoad оптимизация Администрирование СУБД Системный администратор Программист 1С:Предприятие 8 Бесплатно (free)

Сегодня мы проведем обзор изменений, касающихся работы с высоконагруженными системами 1С. Новый релиз предлагает не просто несколько точечных исправлений, а целый арсенал специализированных функций, призванных существенно ускорить выполнение типичных для 1С операций, снизить нагрузку на инфраструктуру и упростить администрирование. Спектр улучшений распространился на многие ключевые узлы производительности от оптимизации работы с временными таблицами и сложными запросами RLS (row-level security) до ускорения критически важных процессов наподобие «Закрытия месяца». Обо всем этом и пойдет речь в статье.

22.07.2025    4985    Tantor    9    

10
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. triviumfan 102 20.10.25 15:31 Сейчас в теме
Это минимум миниморе резервного копирования, постараемся запомнить.

А что такое миниморе?
2. Cocky_Idiot 12 20.10.25 17:36 Сейчас в теме
(1)
А что такое миниморе?

ИИ говорит, что миниморе - это либо маленькое море, либо опечатка в слове миниморум.
Для отправки сообщения требуется регистрация/авторизация