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

См. также

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

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

22.08.2025    1900    a13k55    0    

16

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

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

11.08.2025    2511    evvakra    4    

8

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

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

06.08.2025    1809    Senator_I    2    

5

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

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

22.07.2025    4425    Tantor    9    

10

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

Расскажем об опыте внедрения технологии CoW (Copy-On-Write). Вы узнаете, как CoW помогает экономить терабайты дискового пространства с минимальными накладными расходами, а также как интегрировать ее в рабочие процессы разработки и тестирования. Автор кратко объяснит суть CoW, поделится выбором файловой системы (xfs или btrfs?), расскажет, как его команда управляет подтомами прямо из 1С и почему они выбрали MS SQL для Linux. Отдельно он разберет влияние CoW на CI-процессы: как это помогает анализировать длительные регрессы и ускоряет развертывание баз.

22.07.2025    2284    Golovanoff    7    

16

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

В современных Windows 10 и 11 можно использовать WSL (Windows Subsystem for Linux) для запуска Linux окружения. Возникает соблазнительная мысль: может, PostgreSQL и сервер 1С запустить в WSL. Или даже хуже: в Docker на WSL. Знал бы, что будет сложно - даже не начинал :) Сложность кроется в том, что WSL это не полноценные виртуалки, а легковестные контейнеры Hyper-V с особенностями сети и GUI. Из плюсов, наверно, только размер и скорость запуска.

21.07.2025    2252    FSerg    2    

8

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

В статье подробно разберем, как в компании организован процесс миграции на PostgreSQL, начиная с подготовки команды, предварительного анализа 1С-систем (с использованием специальных чек-листов и инструментов для аудита) и заканчивая тонкой настройкой PostgreSQL. Расскажем о системе автоматизированного тестирования, которая позволяет сравнивать производительность на MS SQL и PostgreSQL без трудоемких ручных проверок. Особое внимание уделим проблемам, которые возникли при миграции систем объемом 20+ ТБ, и способам их решения. А также поразмышляем о том, что нужно было бы сделать по-другому, если бы этот проект пришлось начинать заново.

10.07.2025    2263    leongl    0    

11

Администрирование СУБД Системный администратор 1С v8.3 Россия Бесплатно (free)

В очередной раз столкнулся с тем, что очередные обновления тонкого клиента 1С для Mac OS, загруженные с сайта обновления ПО 1С, не устанавливаются через стандартный инсталлятор и дают ошибку. Но можно все установить вручную без сторонних приложений. Описываю процесс ручной установки тонкого клиента для платформы 8.3.27.1559 на Маке с OS Sequoia 15.5.

02.06.2025    5982    user1914479    17    

5
Для отправки сообщения требуется регистрация/авторизация