December 10th, 2019

беркут парящий

Популярные инструменты для бекапа PostgreSQL.

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


В обзоре будут рассмотрены Barman, PgBackRest, pg_probackup от компании Постгрес Профессиональный и WAL-E. WAL-G я не стал рассматривать, потому что Go и скудость документации. У обоих WAL не вот уж богато с доками, но у WAL-G всё совсем грустно.
Наличие пакетов ОС Язык программирования Сжатие данных Параллелизм Управление WAL Бекап нескольких инстансов Бекап с реплики Инкрементальный, дифференциальный бекап Ротация бекапов Проверка бекапа Tablespaces
Barman Yes Python >=3.4 Yes (rsync) Yes (rsync) Yes Yes Yes (pgesspresso) Yes (rsync) Yes ? Yes (rsync)
PgBackRest С Yes Yes ? Yes (нужно искать инфу) Yes Yes Yes
pg_probackup Yes Yes (with PTRACK is better) Yes (manual)
wal-e Не обнаружено Python >=3.4 ? ? Не обнаружено ?

Легенда


Наличие пакетов ОС - данный пункт интересен только эксплуататорам, я думаю. wal-e ставится pip-ом.
Язык программирования - здесь неплохо было бы указать зависимости для систем на питоне, но...
Сжатие данных - для уменьшения трафика, когда канал слабый, а база серьёзная. На самом деле надо экспериментировать.
Параллелизм - возможен ли бекап в несколько потоков.
Управление WAL - barman умеет в быть хранилищем WAL-ов для тех инстансов, которые бекапятся; про другие инфы не найдено.
Бекап нескольких инстансов - чтобы не забыть. Умеют все.
Бекап с реплики - могут все, но сильно по-разному, и документация об этой возможности весьма различна у всех продуктов. Для barman-а необходимо расширение pgespresso.
Инкрементальный, дифференциальный бекап - pg_probackup с PTRACK может в бекап на уровне страниц, а не на уровне файлов, как остальные (в документации по wal-e данная возможность не обнаружена).
Ротация бекапов - могут все.
Проверка бекапа - pgbackrest на инстансах с включенными чексуммами проверяет на лету, pg_probackup - отдельной командой;
Tablespaces - все продукты умеют перемещать табличные пространства во время восстановления.