Вчера в комментариях к заметке про PostgreSQL посоветовали утилиту для бэкапа - pg_probackup. Я не знал про неё и никогда не использовал, но решил посмотреть. Оказалось, это очень удобный и надёжный вариант бэкапа баз данных PostgreSQL. Расскажу про особенности и варианты использования этой утилиты.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Авторами pg_probackup является небезызвестная компания Postgres Professional - российская компания, разработчик систем управления базами данных. Утилита поддерживает как ванильные версии postgres, так и собственные платные сборки postgres pro.
📌 Pg_probackup умеет:
- Выполнять полные и инкрементные бэкапы как отдельных серверов, так и кластеров.
- Делать инкрементные бэкапы разными способами: разностное копирование, страничное копирование или копирование изменений. Разные способы дают разную нагрузку на систему и занимают разное количество времени.
- Выполнять контроль целостности данных и проверку резервных копий без восстановления самих данных.
- Управлять политиками хранения резервных копий в соответствии с заданными параметрами.
- Самостоятельно сжимать данные без внешних архиваторов.
- Работать в режиме клиент-сервер, то есть настраивается сервер хранения pg_probackup, который сам подключается к хостам с postgresql и забирает бэкапы.
- Отдельно поддерживает возможность бэкапа произвольных директорий и файлов. Например, директорию с конфигурацией кластера, с логами или какими-то самописными скриптами.
- Вести каталог резервных копий с метаданными архивов, данные о которых может отдавать в формате json.
Продукт многофункциональный, который закрывает полностью вопрос с бэкапами, политикой хранения и мониторинга. Получая информацию об архивах в json, очень легко прикрутить мониторинг к тому же Zabbix Server или Prometheus.
Как можно понять из описания, pg_probackup - универсальный инструмент, который подойдёт как для полного бэкапа одиночных баз и серверов, так и кластеров в различных режимах инкрементов. Архивы можно хранить локально или передавать по сети в единый каталог.
У утилиты есть подробное описание на русском языке. Для установки созданы репозитории под все популярные системы, в том числе отечественные.
Примеры запуска и использования приводить не буду, так как всё подробно и по-русски описано в документации. В общем случае сначала надо инициализировать каталог резервных копий, потом добавить туда сервер PostgreSQL, настроить политику хранения, запустить бэкап.
❓Напрашивается важный вопрос. А когда стоит переходить к подобным бэкапам от простых дампов. Однозначного ответа тут нет. Ориентироваться нужно по следующим признакам:
- Вам нужна возможность откатить состояние базы на любой момент в прошлом. Тогда дампы вообще не подходят.
- Размер базы данных такой, что выполнение дампа занимает значительное время и снижает производительность сервера.
- Хочется иметь большую глубину хранения резервных копий, но в полных дампах она будет занимать слишком много места.
По моим прикидкам, если сжатый дамп начинает занимать более 5 Гб, стоит думать о других способах создания и хранения резервных копий БД.
Ищу инфу по настройке утилиты. Вижу ссылку на serveradmin, думаю ура, на этом сайте всегда все так хорошо и четко рассказывают, мне повезло, захожу... ну там все просто сами разберетесь... ну ё ма ё (((
Такова современная реальность. Сайт практически не приносит прибыль. Все блокируют рекламу. Я всю деятельность перенёс в Telegram в формате коротких заметок. Писать большие подробные статьи без финансового выхлопа с них нет возможности.