«Создать базу данных, если она не существует» в postgres - PullRequest
0 голосов
/ 01 октября 2018

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

Следующий скрипт в postgreSQL выдает ошибку, говорящую: «CREATE DATABASE не может быть выполнена из функции или строки из нескольких команд»

do $$
begin
If not exists (select 1 from pg_database where datname = 'TestDB')
Then
 CREATE DATABASE "TestDB";
end if;
end
$$

Я создал файл дампа базы данных postgres, экспортироваврезервная копия базы данных, но содержащая,

Drop Database "TestDB"

Create Database "TestDB"

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

Как я могу проверить, существует ли база данных в postgreSQL, без необходимости удалять ее и создавать заново каждый раз, когда я запускаю файл, пожалуйста?

Заранее спасибо

...