psql очистить / сбросить базу данных только на схему - PullRequest
1 голос
/ 29 сентября 2019

Я сделал импорт в свою базу данных, но он пришел с контентом. Я хочу сбросить базу данных только к схеме. То есть весь контент из таблиц отброшен, но схема таблиц оставлена. И автоинкрементные поля сбрасываются для запуска с начала.

Возможно ли это с psql? Я вижу команды, которые отбрасывают контент с помощью определенных команд таблицы, я просто хочу общий psql reset-to-schema.

1 Ответ

2 голосов
/ 30 сентября 2019

Создайте дамп своей базы данных (используя pg_dump), удалите и заново создайте базу данных (теперь у вас есть пустая база данных) и восстановите все данные схемы (используя pg_restore с параметром --schema-only). Это просто восстановит определения данных (таблицы, типы, последовательности, функции и т. Д.), Но не сами данные.

Для получения дополнительной информации обратитесь к руководству. Вы можете использовать эти строки, если все переменные окружения PG установлены по мере необходимости, в противном случае вам, по крайней мере, нужно будет указать некоторую информацию о соединении:

pg_dump -F c -f <dump_file_name_here> <db_name_here>
pg_restore -c -C -F c -d <db_name_here> --schema-only <dump_file_name_here>

Также можно поставить параметр --schema-only наpg_dump. Если вы больше не хотите использовать данные, это может значительно ускорить процесс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...