Я нашел хитрое решение этой проблемы, но возможно.После поиска и чтения почти везде я попробовал что-то, и это сработало.
Если ошибка «CREATE DATABASE не может быть выполнена из функции или строки с несколькими командами», мы можем форсировать одну строку команды, используя dblink.И сделать это, чтобы подключиться к себе.
Проверьте инструкции по установке dblink на dblink
PERFORM replication.dblink_connect('myconn','host=127.0.0.1 port=5432 dbname=mydb user=username password=secret');
PERFORM replication.dblink_exec('myconn', 'CREATE DATABASE "DBFROMUSER'||id||'" TEMPLATE "TEMPL'||type||'";',false);
PERFORM replication.dblink_disconnect('myconn');
В моем случае используются различные типы шаблонов.
Привет