从 PostgreSQL 中的存储过程删除或创建数据库

Rud*_*les 5 postgresql ddl stored-procedures dblink plpgsql

我有一个看起来像这样的函数:

BEGIN
  DROP DATABASE IF EXISTS db_1;
END;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误:无法从函数或多命令字符串执行 DROP DATABASE。

是否无法从 PostgreSQL 的存储过程中删除数据库?我正在使用 plpgsql。

Hou*_*ari 1

您不能从过程中执行此操作,因为drop database不能在事务内执行,并且存储过程本身被视为事务。(参见参考资料

dropdb怎么样?