@Dannerty

Раздельный дамп базы, как организовать?

Здравствуйте. Проблема возникла при попытке настроить раздельное хранение боевой базы и таблиц статистики из нее.
Пробовал несколько вариантов.
1. Делал дамп, исключая данные из таблиц статистики, а саму статистику экспортировал в csv.
Проблема возникла при импорте обратно. Процесс затянулся на очень длительное время, плюс памяти на диске сожрало в несколько раз больше, чем при восстановлении из полного дампа.
2. Делал дамп, исключая данные из таблиц, а статистику выгружал в sql файлы.
Проблема была точно такая же, как и в 1 варианте.
3. Делал дамп, исключая сами таблицы, а статистику выгружал в sql файлы.
Проблема возникла уже на этапе развертывания самой базы без статистики, с падениями из-за невозможности создать представления и зависимости.

Подскажите, каким образом можно это организовать, без пересоздания представлений и зависимостей? Или же необходимо будет все это пересоздавать заново?
Надо восстанавливать именно сначала саму базу без статистики, а потом добавлять ее, чтоб в случае чего не ждать развертывания полного дампа, а быстро откатиться.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Логический дамп быстрым не будет. Возможно вам нужен физический бекап, возможно отстающая реплика. Смотря что хотите получить.

Ну а по логическому дампу - записать данные и построить индексы или добавить индексы, а потом писать данные - две очень большие разницы.
Поскольку речь о статистике - нарежьте статистику на партиции, можно в отдельный schema их пихнуть для удобства. Основную базу соответственно дампите с исключением данных партиций, затем заполняете разделы данными и пристёгиваете их к основной табличке. Или, что лучше, дампите в более подходящие format custom или directory всю базу, затем восстанавливаете параллельно с --exclude-schema и отдельно разделы статистики.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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