从php删除PostgreSql DB

问题描述 投票:0回答:1

有没有办法从PHP脚本编写DROP DATABASE [ IF EXISTS ] name?似乎我需要类似于mysql_drop_db的东西只是为了Postrge。

我在$connStr$conn = pg_connect($connStr)如何看起来有权执行此命令?我必须连接什么数据库?

php postgresql database-permissions
1个回答
1
投票
  1. 您必须连接到与超级用户角色或数据库所有者相同的群集上的其他数据库

https://www.postgresql.org/docs/current/static/sql-dropdatabase.html

它只能由数据库所有者执行。此外,当您或其他任何人连接到目标数据库时,它无法执行。 (连接到postgres或任何其他数据库以发出此命令。)

  1. 在删除它之前,必须在要删除的数据库上使用pg_terminate_backend(pid)其他连接: select pg_terminate_backend(pid) from pg_stat_activity where pid <> pg_backend_pid() and datname = 'db_to_drop';
© www.soinside.com 2019 - 2024. All rights reserved.