Postgres错误:“其他用户正在使用数据库…”
问题描述
postgres=# DROP DATABASE test;
ERROR: database "test" is being accessed by other users
DETAIL: There is 1 other session using the database.
解决方案:
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname=‘’ AND pid<>pg_backend_pid();
pg_terminate_backend:用来终止与数据库的连接的进程 ID 的函数。
pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的 ID 。
DBname为数据库名称。