Сборка 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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

Если вы работаете с 1С на PostgreSQL и жалуетесь на тормоза — скорее всего, дело в join predicate pushdown, которого в стандартном PostgreSQL нет. В MS SQL Server этот механизм работает «из коробки», и при миграции именно запросы к виртуальным таблицам 1С бьют по производительности сильнее всего. В этой статье — реальный кейс от Postgres Professional с разбором плана выполнения, ручным экспериментом и доработкой планировщика СУБД, которая ускорила запросы от 22 до 54 000 раз.

16.06.2026    6349    postgres_professional    13    

9

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

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

16.06.2026    1286    Tantor    7    

9

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

База 1С за несколько лет эксплуатации разрослась, - стала большой, медленно работает, требует много места и времени для копирования и прочего обслуживания. Нужна ли обязательно свертка или можно обойтись более «мягкими» средствами. Делюсь своим опытном как для новых конфигураций, так и для старых УПП, УТ 10…

01.06.2026    6332    2ncom    30    

11

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

Статья рассказывает об опыте перевода больших баз с MSSQL на Postgres и годовой эксплуатации после перехода. Показано, с какими ограничениями утилиты ibcmd можно столкнуться при миграции больших баз и какие подходы помогают безопасно обходить эти проблемы. Приведены наиболее интересные кейсы, выявленные в эксплуатации: особенности настроек Postgres, поведение оптимизатора, тонкости работы логики и статистики, а также редкие, но критичные ситуации с производительностью. Материал будет полезен тем, кто планирует переход на Postgres и хочет заранее понимать реальные риски, подводные камни и проверенные практики их преодоления.

20.04.2026    7438    berserg    12    

26

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

Прокачиваем Постгрес с помощью пользовательских функций и процедур.

02.03.2026    2846    SerVer1C    3    

12

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

В статье рассматриваются текущие возможности горизонтального масштабирования СУБД для 1С, а также какое решение предлагает Tantor Postgres.

02.02.2026    3004    Tantor    3    

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

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

ИИ говорит, что миниморе - это либо маленькое море, либо опечатка в слове миниморум.
3. Apxugu4 29.01.26 12:06 Сейчас в теме
Добрый день, а есть ли сборка pg_probackup для Windows для последних релизов postgres?
Или может требования и какая-то инструкция?
5. Cocky_Idiot 38 29.01.26 18:28 Сейчас в теме
(3)
Поищите на сайте Postgres Pro. У них вроде есть инсталлятор под Винду, и, есть подозрение, что в комплекте идёт pg_probackup. Но я бы категорически не советовал. Оно из коробки заточено на работу по ssh, использование zstd и прочие инструменты, которые для винды не очень родные.
Postgres - это для linux, как бы вас не убеждали в обратном ;)
6. D_astana 112 11.02.26 15:39 Сейчас в теме
Мда. Так ждал сборку под win и такой облом.
7. Cocky_Idiot 38 12.02.26 00:43 Сейчас в теме
(6) Да не нужно оно вам, не переживайте ;)
pg_probackup работает на бинарном уровне: с винды не сможете бэкапить линуксовый инстанс, с малины не получится бэкапить x86-64.
Если у вас вкруг винда, ставьте postgress pro: если правильно понял документацию, то pg_probackup там искаропки. А ещё лучше, ставьте mssql, он реально хорош.
Зачем вам pg_probackup под windows, какой use-case решаете? Повторю мысль из комментария выше: Postgres - это для linux, как бы вас не убеждали в обратном ;)
8. D_astana 112 12.02.26 05:55 Сейчас в теме
(7) Спасибо конечно, сразу прошу прощения если грубо. Но думаю я сам знаю нужно мне оно или нет. Просто устал от советов про pg и win, которых не просил. Около 10 лет пользуюсь pg на win, лет 5 пользую pg_probackup на win (уже не раз спасала), а оказывается сторонним людям, незнакомым с ситуацией всегда виднее.
9. Cocky_Idiot 38 12.02.26 19:10 Сейчас в теме
(8) извиняюсь, если утомил советами. Но зачем вам что-то собирать из исходников, когда у вас и так уже все в собранном виде и успешно работает годами? Джаст фо фан?

Под линукс приходится заниматься сборкой из сорцов, если нет готового пакета в репозитории, но это не ваш случай.
10. D_astana 112 12.02.26 19:22 Сейчас в теме
(9) под ванильку собраное только 16 версия. А про версии денег стоят. 17 и 18 версии только исходники. А нормальной инструкции под сборку их решения на win не нашел.
Для отправки сообщения требуется регистрация/авторизация