devspec
@devspec
Помогло? Отметь решением

Автоматическая запись в две базы Postgresql?

Приветствую!

Есть два сервера с postgresql. Данные пишутся в базу на одном из серверов.
А хочется, чтобы данные автоматически писались и во вторую базу тоже - с целью резервного копирования.
Понятно, что можно в коде настроить запись в две базы.
Но почему-то уверен, что для этого есть какие-то готовые решения средствами БД.

Подскажите, в какую сторону копать?

Спасибо.
  • Вопрос задан
  • 108 просмотров
Решения вопроса 2
@awesomer
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
Для цели резервного копирования вам нужна не вторая база, а само резервное копирование. То есть pg_basebackup и архив WAL с момента старта basebackup до момента на который вы хотите восстановить состояние базы. Посмотрите barman как более готовую штуку для этого. Или wal-e/wal-g, которые проще в настройке сами по себе - если вы бекапитесь куда-нибудь в совместимое с ними место.

Если вам нужно не резервное копирование, а запасная машинка на случай проблем с первой - то вам нужна репликация. Штатная потоковая репликация отличная стабильная штука. Надо пояснять чем отличается резервирование от бекапов?

Писать кодом в две разные базы - как раз идея плохая как для резервирования, так и для бекапов. Записали изменение в одну базу, во вторую не смогли с какой-нибудь мелкой ошибкой вроде сети моргнувшей. Что делать будете? А ничего хорошего. Корректно писать в несколько мест - задача не слишком тривиальная и нужно что-то сочинять, например протокол двухфазного коммита.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bkosun
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы