在 PostgreSQL 中删除 DB 时报资源占用
一次性删除数据库中数据最快的方法就是直接 Drop 掉 DB,重新建一个,但是在 Drop 时可能会报占用的错误。
1 | There is 1 other session using the database. |
出现上诉错误时可以用以下方法解决,方法来自 stackoverflow。
阻止后续连接
1
REVOKE CONNECT ON DATABASE thedb FROM public;
断开除当前用户外的所有连接
1
2
3SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
在老版本中,pid
叫 procpid
,如果提示不存在可以替换掉。
当 CONNECT
权限被回收后,所有自动连接将失效,这时你可以 drop 掉 DB 了。
方法来源:stackoverflow
在 PostgreSQL 中删除 DB 时报资源占用
https://blog.imoe.tech/2019/10/14/22-remove-db-error-on-postgresql/