线下测试PG经常drop database时报错处理

postgres=# drop database oms_info;
ERROR: database "oms_info" is being accessed by other users
DETAIL: There are 2 other sessions using the database.

上述操作请勿在生产库中操作慎用。

提示:

当前数据库也在被别的2个用户使用

需要断开此连接才可以删库。

 

解决:

postgres=# select pg_terminate_backend(pg_stat_activity.pid) from pg_stat_activity where datname='oms_info' and pid <> pg_backend_pid();
pg_terminate_backend
----------------------
t
t
(2 rows)

 

说明:

  • pg_terminate_backend:用来终止与数据库的连接的进程id的函数。
  • pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
  • pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的ID。
posted @ 2022-07-08 18:23  青空如璃  阅读(357)  评论(0)    收藏  举报