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

问题:

​ 在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;

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

猜你喜欢

转载自blog.csdn.net/cacique111/article/details/127347512