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

发布于:2023-09-14 ⋅ 阅读:(85) ⋅ 点赞:(0)

问题:

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

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


网站公告

今日签到

点亮在社区的每一天
去签到