Есть ли способ написать DROP DATABASE [ IF EXISTS ] name
из php скрипта? Кажется, мне нужно что-то похожее на mysql_drop_db
только для Postrge.
Как мой $connStr
в $conn = pg_connect($connStr)
должно выглядеть, чтобы иметь права на эту команду? Какой дБ я должен быть связан?
https://www.postgresql.org/docs/current/static/sql-dropdatabase.html
Он может быть выполнен только владельцем базы данных. Кроме того, это не может быть
выполняется, когда вы или кто-либо еще подключен к цели
база данных. (Подключитесь к postgres или любой другой базе данных для выдачи этого
команда.)
Должен pg_terminate_backend(pid)
другие соединения на БД, которые вы хотите удалить перед тем, как сбросить:
select pg_terminate_backend(pid)
from pg_stat_activity
where pid <> pg_backend_pid() and datname = 'db_to_drop';
Других решений пока нет …