Прежде всего, я разработчик, а не администратор или администратор; Пожалуйста, будьте нежны :)
Я работаю над рабочим процессом приложения, где одно действие пользователя вызовет сложные изменения в базе данных - создание сотен записей в одних таблицах, обновление сотен записей в других и т. Д. Всего около 12 таблиц (из ~ 100 ) тронуты этим действием. Из-за сложности, мне очень трудно вручную отменить все изменения, прежде чем я смогу запустить другой тест. В течение большей части моего времени разработки я могу просто вставить оператор «ROLLBACK» ближе к концу рабочего процесса, но когда я близок к принятию своих изменений, мне нужно проверить реальную вещь.
У меня есть локальная копия рабочей базы данных для работы. В моем случае создание дампов и восстановление между тестами происходит быстрее, чем написание скрипта для отмены всех изменений. Это быстрее, но все равно сильно тормозит (восстановление занимает около 20 минут на моем старом ноутбуке). Есть ли способ сохранить снимок текущего состояния базы данных, а затем быстро восстановить его?
Я гарантированно буду единственным пользователем в системе, и у меня есть root-доступ. Дамп базы данных составляет ~ 100 МБ, когда tar'ed и gzip'ed. Версия PostgreSQL - 8.3.
Заранее спасибо за любые полезные идеи.