瀚高数据库
目录
环境
症状
问题原因
解决方案
环境
系统平台:N/A
版本:10.4
症状
删除数据库报错:
postgres=# drop database test;
ERROR: database “test” is being accessed by other users
DETAIL: There is 1 other session using the database.
问题原因
有其他会话正在连接到要删除的数据库,所以无法删除该数据库。
解决方案
检查有哪些会话连接到该数据库,将连接到该数据库的会话终止,即可成功删除数据库。
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_activity where datname = 'test';
-[ RECORD 1 ]----+------------------------------
datid | 22274
datname | test
pid | 2460
usesysid | 10
usename | postgres
application_name | psql
client_addr |
client_hostname |
client_port | -1
backend_start | 2019-04-21 21:46:02.770542+08
xact_start |
query_start |
state_change | 2019-04-21 21:46:02.788425+08
wait_event_type | Client
wait_event | ClientRead
state | idle
backend_xid |
backend_xmin |
query |
backend_type | client backend
postgres=# SELECT pg_terminate_backend(2460);
-[ RECORD 1 ]--------+--
pg_terminate_backend | t
postgres=# select * from pg_stat_activity where datname = 'test';
(0 rows)
postgres=# drop database test;
DROP DATABASE