Navicat 删除 PostgreSQL 数据库时提示正在被其他用户访问如何处理

ERROR: database 'xXx' is being accessed by other users

DETAIL: There are 5 other sessions using the database.

有时我们在迁移或重新生成数据库时可能会需要先删除数据库。这时就会遇到数据库被占用导致无法删除的问题,下面提供其中一种不重启服务的快速解决方法。

这条语句可以看到当前正在被访问的数据库列表:

SELECT * FROM "pg_stat_activity"

正常情况下上面提示框中的数据库也一定就在列表中,所以在删除时会提示正在被访问,只要将记录从 pg_stat_activity 表删除,就能顺利删除数据库。顺便提供删除语句:

DELETE FROM "pg_stat_activity" WHERE datname = 'jn_tenantdb20190401'

附赠一个没什么用的:如果数据库只是个人使用,也可以选择稍等一会儿,等待回话自动关闭。然后再执行删库操作。

原文地址:https://www.cnblogs.com/fxck/p/13076765.html