Обновить

Обзор открытых свободных инструментов для создания резервных копий СУБД PostgreSQL

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели15K
Всего голосов 12: ↑8 и ↓4+7
Комментарии23

Комментарии 23

WAL-G поддерживает бекапы с реплик, блочные инкрементальные, tablespace-ы и конечно ротацию старых бекапов. А ещё параллельную загрузку WAL в обе стороны. Производительность тоже можете протестировать, скорее всего время восстановления у нас будет минимальным. Pull request-ы в документацию приветствуются :)

А вы не могли бы привести соответствующие ключи (для поиска, я с удовольствием поправлю соответствующие пункты)?

С реплики заведётся без ключей, инкрементальные бекапы включаются WALG_MAX_DELTA_STEPS - максимальное количество инкрементов в цепочке. Tablespace никак настраивать не надо, они просто работают, но можно настроить как в WAL-E https://github.com/wal-g/wal-g/blob/master/docker/pg_tests/scripts/tests/wale_tablespace_compatibility_test.sh

Параллельная загрузка никакой настройки не требует (можно concurrency и лимиты покрутить если хочется).

Доотвечаю на предыдущее сообщение.

Pull request-ы в документацию приветствуются :)

Увы, но чтобы формировать Pull request-ы, надо хорошо понимать предмет и устройство продукта, как оно внутри устроено и работает. У меня с пониманием wal-g всё очень грустно, печально и тоскливо, а на эксперименты для понимания и осознания времени нет и неизвестно. Ну и отсутствие пакетов - это для меня фатальный недостаток продукта целиком.

С реплико

Перестал читать после того как увидел связку pg_dump и "резервная копия"

А что не так с pg_dump? Это самы простой способ получить копию базы данных и создать резервную копию.

Блокировка таблиц во время бэкапа. pg_dump не является средством бэкапа, но может в какой-то мере для бэкапа использоваться.

pg_probackup - на уровне страниц умеет только при использовании ptrack (Что?! Пересобирать сам ПГ?!), без этого расширения - только на уровне файлов

Протестую, ваша честь! Можно и без ptrack, в режимах page или delta.

Егор, спасибо за очень важное уточнение! Исправил соответствующее описание.

НЛО прилетело и опубликовало эту надпись здесь

Для бекапов роль только пишется. :)

Это не вот уж важный критерий, хотя бы потому, что ansible - ну совсем не единственный инструмент для централизованного конфигурирования.

В заголовке таблицы ошибка: barnam вместо barman

Спасибо, поправил.

Прощу прощения за задержку с ответом. Но указанного инструмента нет в обзоре, потому что на момент формирования исходной таблицы этого инструмента ещё в природе не существовало. И я о нём узнал из вашего сообщения. Как-то вот прошёл он мимо меня, и в потоке новостей от https://planet.postgresql.org/ я упоминания о нём не помню, вполне возможно, что пропустил.

А про pg_rman тоже не знаете? Довольно старая утилита бэкапа от NTT OSS

https://github.com/ossc-db/pg_rman

Слыхать, может и слыхал, но, оригинальная таблица называется "Популярные инструменты для бекапа PostgreSQL.". И в то время, когда я эту табличку делал, указанная вами утилита, да и многие другие, которые где-то как-то мимолётно упоминались, популярными не являлись. Так что, если у вас есть намного более объёмный список инструментов для создания резервных копий постгреса, то вы можете свой обзор оформить. Постгресовые админы БД вам спасибо скажут. А по одной утилите сюда вопросы кидать, я думаю, не стоит.

Ну pgMoneta довольно новая утилита, но pg_rman - в обед сто лет, я уже не говорю про то, что pg_probackup слизали именно с нее.

Но Вам видней) Было бы интересно если Вы в будущей статье включите эти 2 утилиты в обзор.

Хоть какой-нибудь тест скорости бы добавили, а так спасибо за статью — посмотрю в сторону pg_probackup.

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

pgbackrest Увы, но разработка прекращена: https://github.com/pgbackrest/pgbackrest#notice-of-obsolescence

Уже возобновлена:

After I announced that I am no longer maintaining pgBackRest my inbox blew up. It took a while to sort through the messages — many of them were well wishes and thank-yous for my work over the years.

But a pattern soon emerged. It is clear that many pgBackRest users, especially those with pgBackRest users of their own to support, would prefer the project to continue with me as the primary maintainer. I would like nothing more, but after months of fundraising I had just decided it wasn’t going to happen.

Now the situation has changed, and it appears all but certain that I will be able to secure enough funding to continue the project. This time pgBackRest will be funded by a coalition of sponsors so that a single acquisition will no longer affect my ability to continue work on the project. We should also be able to bring on another maintainer to distribute the workload and provide continuity in the future.

I know this has been a shock and there is a lot of uncertainty. Please be patient — the current version of pgBackRest works, and there are no critical outstanding bugs or security issues so there is no need to immediately fork the project.

I expect to make a more definitive announcement by the end of the week. Until then, please hold tight and know that we are actively working to revive pgBackRest.

Спасибо за добрую новость. Опять правки вносить в материал. :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации