Как удалить все таблицы из базы данных PostgreSql, используя командную строку в операционной системе Windows?

Какой командой из командной строки Windows можно удалить все таблицы в БД? Мне нужно это сделать в скрипте, который создает резервные копии перед внесением изменений в структуру БД. У меня уже есть скрипт для создания резервной копии (приведенный выше), но мне нужно добавить в него команду удаления таблиц.
  • 10 октября 2023 г. 19:47
Ответы на вопрос 2
Для удаления всех таблиц из базы данных PostgreSql с помощью командной строки в операционной системе Windows, вы можете использовать следующую команду:

```bash
psql -U <username> -d <database_name> -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;"
```

Здесь `<username>` - это имя пользователя для доступа к базе данных, а `<database_name>` - это имя базы данных, из которой вы хотите удалить все таблицы.

Обратите внимание, что эта команда удаляет схему "public" и создает ее заново, поэтому все таблицы, относящиеся к этой схеме, будут удалены.

Вы можете добавить эту команду в ваш существующий скрипт для создания резервной копии перед внесением изменений в структуру базы данных.
Тебе проще создавать новую базу данных каждый раз, а старую оставить в виде резервной копии. Создавай db1, db2, db3 и т.д., а затем удаляй те, которые тебе уже не нужны. Также можно использовать Docker для развертывания пустой базы данных, если она необходима.
Похожие вопросы