@vlarkanov

Чем бекапить все базы Postgres без прерывания доступа к сервису?

Приветствую!
Подскажите пожалуйста подобие XtraBackup для работы с Postgres.

Требования к программе:
бесплатная;
есть под Debian;
позволяет делать бекап без блокировки, т.е. приложения могут писать\читать данные из базы в процессе бекапа;
позволяла быстро восстановить данные;
  • Вопрос задан
  • 1034 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
pg_basebackup
Сделает консистентную физическую копию базы. Соответственно размер бекапа примерно равен размеру кластера postgresql + накопленные за время копирования WAL.
Восстанавливаться элементарно запустив postgresql с указанием PGDATA в место где лежит результат pg_basebackup.
Им обычно реплики поднимают.

pg_dump или pg_dumpall
Логический бекап данных. Обычно не очень подходит по критерию быстро восстанавливаться т.к. при восстановлении будут перестраивать индексы, проверять fk и прочие constraint, зато как правило сильно (в пару раз без сжатия легко, со сжатием ещё больше разница) компактнее по размеру бекапа

Все из штатной поставки Postgresql. И другие способы бекапа Postgresql в основе своей опираются на них же.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
Стандартная утилита pg_dump
  • есть везде, где есть Postgres
  • не блокирует БД: приложения могут читать/писать данные, но запросы на изменение структуры, скорее всего, будут ждать окончания бэкапа
  • восстанавливает настолько быстро, насколько быстро выполняются обычные SQL-запросы.
Ответ написан
Комментировать
megafax
@megafax
web-программист
Для полного раскрытия вопроса можете посмотреть лекции
https://www.youtube.com/watch?v=LXC15K4pV0o&list=P...
https://www.youtube.com/watch?v=xWtuIwfdSH0&list=P...
Ответ написан
Комментировать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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