删除postgresql数据库报错database xx is being accessed by other users
恢复青岛大学的onlinejudge的数据库的时候,运行删除postgresql数据库命令dropdb -U onlinejudge onlinejudge
时发现报错了。
1 | dropdb: database removal failed: ERROR: database "onlinejudge" is being accessed by other users |
这是因为当前数据库也在被别的用户使用,这里要删除也要慎重,确保数据库是可以被删除的再继续操作。
解决方法:
断开连接到这个数据库上的所有链接,再删除数据库。在PostgreSQL 9.2 及以上版本,执行下面的语句:
1 | # 1.登录postgres数据库 |
断开所有连接到这个数据库上的连接的语句说明:
pg_terminate_backend:用来终止与数据库的连接的进程id的函数。
pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的ID。
- 本文标题:删除postgresql数据库报错database xx is being accessed by other users
- 本文作者:HDUZN
- 创建时间:2022-12-16 22:41:54
- 本文链接:http://hduzn.cn/2022/12/16/删除postgresql数据库报错database-xx-is-being-accessed-by-other-users/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论