Сборка 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 оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бухгалтерский учет Бесплатно (free)

После миграции с MS SQL на PostgreSQL закрытие месяца в 1С:ERP стало идти 8 часов вместо 12 минут. Рассказываем, как мы нашли причину в оценке Hash Join, которую планировщик завышал в миллионы раз, и как исправили её так, что проблемный запрос теперь выполняется за 18 секунд вместо часа.

19.10.2026    957    Tantor    0    

10

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

Большинство материалов о компрессии в PostgreSQL отвечают на вопрос «во сколько раз удалось уменьшить базу». Мы предлагаем посмотреть на проблему с другой стороны — какой ценой достигается эта экономия? В статье разбираем архитектурные компромиссы различных подходов к компрессии страниц, объясняем, почему при разработке CSM в Tantor Postgres отказались от погони за максимальным коэффициентом сжатия, и показываем результаты нагрузочных испытаний на реальных базах 1С.

01.10.2026    1453    Tantor    6    

17

DevOps и автоматизация разработки Администрирование СУБД Групповая разработка (Git, хранилище) Разработчик 1С 8.3 Абонемент ($m)

В корпоративных инсталляциях «1С:Предприятие 8.3» под управлением PostgreSQL всё чаще проявляются архитектурные пределы масштабирования: рост числа пользователей, обязательная маркировка, плотный поток API-интеграций и высокая стоимость простоя. Вводная часть цикла разбирает ключевые факторы современной эксплуатационной нагрузки и формирует инженерную методологию эволюционной модернизации без остановки продуктивного контура. Материал основан на практическом кейсе «Торговый контур» и показывает, как определить целевые метрики (p95, MTTR, APDEX), выстроить наблюдаемость, стабилизировать работу кластера и подготовить инфраструктуру к дальнейшему масштабированию. Публикация задаёт фундамент для последующих частей, посвящённых телеметрии, оптимизации PostgreSQL, CI/CD и архитектурному росту.

1 стартмани

10.09.2026    1522    Ninel_S    0    

6

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

В рамках 18 релиза СУБД Tantor Postgres мы рассказывали об оптимизациях, которые помогают планировщику сделать более точный выбор между Nested Loop и Hash Join. В следующем релизе у нас планируются оптимизации, которые позволят ускорить выполнение как Nested Loop, так и Hash Join. Сегодня мы расскажем об одном из таких методов - фильтре Блума.

31.08.2026    6120    Tantor    3    

18

Администрирование СУБД Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Мы подготовили для сообщества Infostart.ru практическое занятие, в котором каждый желающий сможет: научиться собирать реальные данные о процессах кластера 1С; выявлять «перестарков» — процессы старше периода и без соединений; выполнять безопасный перезапуск (с dry-run и подтверждением); настраивать автоматическую проверку через systemd на Linux; отправлять уведомления (Telegram, почта) при обнаружении проблем; работать с логами, ротацией, профилями кластеров и конфигурацией; развернуть полноценный учебный проект AdminClusterMonitor у себя в тестовой среде.

30.08.2026    1732    Ninel_S    2    

6

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

На infostart.ru вышел разбор Ивана Недомолкова «Сервер 1С падает: настройка сбора дампов (logcfg.xml), лимиты памяти и передача дампа в поддержку» - это хорошая инструкция, как ловить и разбирать падение rphost постфактум: logcfg.xml, procdump, анализ дампа. Но там нет ответа на вопрос «а почему кластер вообще прибил процесс сам, ещё до всякого краша». Мы дополняем разбор тремя сводными таблицами лимитов памяти и автомасштабирования кластера - и заодно фиксируем, чем в этой части лицензия ПРОФ урезана относительно КОРП.

12.08.2026    2382    Ninel_S    5    

6

Администрирование СУБД Системный администратор Разработчик Бесплатно (free)

5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.

11.08.2026    3407    jul.dolganova    9    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. triviumfan 103 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 не нашел.
Для отправки сообщения требуется регистрация/авторизация