Всем привет!
Хочу спросить совета. Есть БД, в которой постоянно появляются новые схемы с одинаковой структурой таблиц. Наступает момент, когда пользователю временно не нужна его схема и есть желание такие схемы временно "архивировать".
Сейчас, есть мысль реализовать это через pg_dump и при необходимости запускается pg_restore, который обратно все раскатывает.
Что думаете по данному варианту?
Ну, да это будет работать, но сам по себе способ весьма брутальный. Более гибко было бы переносить архивные таблицы на удаленный сервер и если нужен доступ к архиву или восстановление из архива обращаться к нему через что-нибудь типа pl/proxy
А в чем реальный минус такого брутального места?
На прошлой работе был Oracle, там у нас была спецом база архивная, и данные перегонялись в таблицы с компрессией. PostrgeSQL пока осваиваю, не знаю есть ли тут аналог таблиц со сжатием
Я так понимаю, вы хотели бы делать pg_restore по запросу в произвольный момент?
Минусы этого в том, что нужна какая-то отдельная машинерия, для того, чтобы в нужный момент накатить pg_restore ( а если он не сработает? ). Плюс производительность сервера просядет в какой-то неизвестный момент. А ведь дампы получается, что надо как-то упорядоченно хранить и, может быть, версионировать. Решение с постоянно раскатанным архивом на удаленной машине заметно проще. Однако, понятно, что на pg_dump/pg_restore тоже работает и на вашей конкретной задаче может оказаться вполне приемлемо.
Сжатых таблиц в постгресе нет, можно положить tablespace на некую compressed file system.