Снимешь свежий дамп и поднимешь его там, где он ничего не сломает, — в новой пустой базе.
Дамп проверяют восстановлением в отдельную базу рядом с рабочей. createdb имя создаёт пустую базу — у твоей роли есть право CREATEDB. Дальше pg_restore -d имя файл: рабочая база не участвует вовсе.
pg_dump -Fc -d shop -f файл снимает базу такой, какая она в момент запуска, даже если приложение в это время пишет. Вчерашний дамп сегодняшних заказов не знает.
В пустой базе у pg_restore не должно быть ни одной ошибки: ошибка значит, что копия неполная. Ключ --exit-on-error останавливает его на первой ошибке, а --single-transaction выполняет весь дамп одной транзакцией: при ошибке не применится ничего.
Дамп помнит владельцев: в нём ALTER TABLE … OWNER TO student. Восстанавливаешь от другой роли — добавь --no-owner: владельцем объектов станет она.
Сними дамп и подними копию
В ~/backup сними свежий дамп базы shop в формате custom в файл shop-new.dump и восстанови его в новую базу shop_check. Базу shop не трогай.
Цели · 0 из 2
- Снять свежий дамп базы shop ещё не выполнена
- Восстановить его в новую базу shop_check ещё не выполнена