LINUX.ORG.RU
ФорумAdmin

Резервное копирование и восстановление баз PostgreSQL

 


0

3

Добрый день! Имеется MSSQL сервер, на котором настроены планы обслуживания полного бэкапа всех баз раз в неделю и раз в день бэкап логов. Когда разработчики просят восстановить базу, у меня есть возможность восстанавливать конкретную базу либо на последний лог, либо на определенное время. В PGSQL я нашел несколько способов резервного копирования: pg_dump pg_probackup pg_basebackup pg_backrest и тд. Насколько я понял в pg_dump нет возможности делать инкрементальные копии и восстанавливать на определенную точку времени. Поэтому этот вариант мне не подходит. Все остальные имеют возможность делать инкрементальный бэкап и восстанавливать его. Но, как я понял, можно восстановить только кластер целиком, при этом удалив старые данные, либо указать базы в которые базы будут восстановлены, а пустые базы потом удалить. Для этого нужно остановить сервер pgsql, что является невозможным ввиду активной работы разработчиков в других базах. Собственно вопрос, можно ли реализовать восстановление одной конкретной базы на определенный момент времени без остановки сервера pgsql?

Ответ на: комментарий от no-such-file

С бэкапом и восстановлением особо проблем нету. Про PITR в курсе. Вопрос в восстановлении одной конкретной базы, не затрагивая остальные. Пока что я вижу решение делать по одному инстансу на базу с разными портами и восстанавливать кластер из одной базы. Но мне кажется есть очевидное решение, которое я пока не могу найти или в упор не вижу.

freeoneed ()
Последнее исправление: freeoneed (всего исправлений: 1 )

скорее всего ты хочешь невозможного. Тебе бы разнести базы по разным инстансам, тогда, если они будут изолированы, то ты сможешь уже делать pitr на каждой отдельной базе. Кстати, все базы могут жить на одном физическом сервере, если это важно в твоем случае.

v9lij ★★★★★ ()
Ответ на: комментарий от freeoneed

Это и есть очевидное решение. Зачем тебе в одном инстансе несколько баз? Напиши нужную автоматизацию и всё. Я бы советовал вообще по разным инсталляциям разнести, к примеру чтобы можно было апгрейдить базы по очереди. Должна быть максимальная независимость и изоляция. Пусть не в контейнере, к этому не все готовы, но хотя бы на уровне программ.

vbr ()
Последнее исправление: vbr (всего исправлений: 1 )

Не смешивай все в кучу. Все просто, чудес нет. ЧУДЕС НЕТ.

Хочешь восстановление отдельной базы – бэкапь ее регулярно. Все WAL и пр. это восстановление всей базы ввиду локальных факапов.

soomrack ★★★ ()

вроде есть patroni который всем этим рулит, полуркай.
он про репликацию и автофайловер.
ну а бэкапить, да, надо.

etwrq ★★★★★ ()
Последнее исправление: etwrq (всего исправлений: 1 )
Ответ на: комментарий от vbr

Всем спасибо! Просто смутило что в MSSQL можно восстанавливать базу без проблем, а в PG нет. Буду разбивать на разные инстансы и смотреть в сторону Wal-g. С minio разобрался. Осталось понять как локально (в сетевую шару) складывать бэкапы, а не в S3.

freeoneed ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.