DROP Postgres SCHEMA или TABLE, используя Windows Batch File - PullRequest
0 голосов
/ 09 июля 2020
  1. Я хочу выполнить DROP и CREATE SCHEMA в PostgreSQL, используя Пакетный файл . У меня PostgresSQL установлено на многих машинах без какого-либо интерфейса, такого как PgAdmin.

  2. Я ищу простое решение, позволяющее техническим специалистам выполнить сброс базы данных и восстановить резервную копию по умолчанию на производственная площадка. Пакетный файл кажется хорошим решением.

  3. Я уже понял команду для восстановления резервной копии с помощью пакетного файла. Отсутствующий элемент - это drop / create SCHEMA (поскольку мне нужно создать новую SCHEMA перед восстановлением резервной копии по умолчанию).

  4. Я пробовал следующую команду для DROP / CREATE SCHEMA. Однако он работает только при использовании через PgAdmin или если я ввожу вручную в командной строке postgres = # в CMD.

DROP SCHEMA public CASCADE;
CREATE SCHEMA public;

GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO public;
Использование приведенного выше кода в пакетном файле приводит к следующей ошибке.

'drop' не распознается как внутренняя или внешняя команда, действующая программа или пакетный файл.

Любые предложения, пожалуйста, дайте мне знать. Заранее благодарим за помощь.

1 Ответ

2 голосов
/ 09 июля 2020

Поместите операторы, которые вы хотите запустить, в (текстовый) файл, например, drop.sql

Затем в вашем пакетном файле используйте:

psql -U <your_username_here> -d <your_database_here> -f drop.sql

psql предложит вам пароль, см. Запустите файл PostgreSQL. sql, используя аргументы командной строки , чтобы узнать о возможных вариантах решения этой проблемы.

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