@GADARUKU

Как делать бэкапы/дампы в Postgresql? Какое есть бесплатное и простое решение, которым пользуются многие?

База небольшая. На вскидку пусть будет 1Gb

Как лучше и проще делать бэкапы/дампы? pg_dump или pg_dump_all? В каком формате?


Или так:

*Какие 2-3 тулзы используется большинством как de-facto?*
  • Вопрос задан
  • 746 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Зависит от требований к бекапам.
Если нужен point in time recovery, т.е. возможность восстановить состояние кластера на какую-то произвольную транзакцию - то это pg_basebackup + архив WAL.
Чтобы не собирать конструктор вручную - есть barman. Если бекапить хотите куда-то в s3 - то проще будут wal-e или wal-g
Одну базу в отдельности так бекапить и восстанавливать не выйдет, только весь инстанс целиком. Объём бекапа = объём всего инстанса + объём всех WAL от начала basebackup до нужного момента восстановления, количество wal зависит от вашей пишущей нагрузки.

Если достаточно логических слепков данных, например, ежесуточных - тогда да, pg_dump. Восстановление соответственно только на момент начала снятия дампа.
Типично делается pg_dumpall -g для сохранения глобальных данных кластера - пользователей, tablespace, имён баз и отдельные pg_dump для тех баз которые надо бекапить.
Формат часто custom делается, т.к. он штатно сжимается и позволяет через pg_restore восстанавливать определённые объекты из дампа, а не только всё целиком как текст через psql. Для гигабайтной базы смысла нет, а для баз побольше имеет смысл делать формат directory в несколько потоков.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Для базы такого размера подойдёт pg_dump.
Ответ написан
Комментировать
AlexanderMint
@AlexanderMint
Web Developer
Используем backup.github.io/backup/v4/installation для бэкапов, полет стабильный на протяжении нескольких лет.

Не думаю что это решение которое использует большенство. Но штука хорошая
Ответ написан
Комментировать
Barman - отличная тулза
https://www.pgbarman.org
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы