【发布时间】:2019-03-06 11:43:58
【问题描述】:
我是 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 中,而不必在每次运行文件时删除数据库并重新创建它?
提前致谢
【问题讨论】:
标签: postgresql postgresql-9.3 pgadmin-4