解决“ERROR:database “xxx“ is being accessed by other users“

  • Post author:
  • Post category:其他




问题:

​ 在postgresql中运行

drop database dbname

命令来删除数据库时出现以下错误:

ERROR:  database "graphnode" is being accessed by other users
DETAIL:  There are 12 other sessions using the database.



解决

​ 出现上述错误的原因是因为当前数据库正在被其他用户使用,因此要删除数据库必须先断开所有连接

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname='dbname' AND pid<>pg_backend_pid();
drop database dbname;

​ 注意:如果先运行

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname='dbname' AND pid<>pg_backend_pid();

​ 在上一条命令执行完成之后,再运行

drop database dbname;

​ 可能仍然会出现上述错误,这时将两条命令一起粘贴进命令行运行即可。



版权声明:本文为cacique111原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。