drop database 报错正在被其他用户使用

本文描述了在瀚高数据库环境中,删除数据库时遇到的‘被其他用户访问’错误,通过查询pg_stat_activity找出并终止连接,解决了无法删除的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

瀚高数据库
目录
环境
症状
问题原因
解决方案

环境

系统平台: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值