暂无图片
PostgreSQL数据库删库前是不是需要把所有连接断开才能删除?
我来答
分享
暂无图片 匿名用户
PostgreSQL数据库删库前是不是需要把所有连接断开才能删除?

PostgreSQL数据库删库前是不是需要把所有连接断开才能删除?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
布衣
暂无图片

在PostgreSQL中,如果一个库正在被使用,我们是无法直接去删除的,会收到如下报错:

bill@bill=>drop database db03; ERROR: database "db03" is being accessed by other users DETAIL: There is 1 other session using the database.
复制

因此,我们需要禁止会话再连接到库中,同时中断掉当前所有连接的会话才可以。

下面是具体的操作方法:

1、设置数据库为禁止连接

UPDATE pg_database SET datallowconn = 'false' WHERE datname = 'db_name';
复制

2、中断当前库中所有连接会话

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'db_name';
复制

3、删除数据库

drop database db_name;
复制

若对答案满意,请点击采纳按钮哦!

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
张sir

说的tdsql?

暂无图片 评论
暂无图片 有用 0
打赏 0
彭冲

pg13新特性drop database使用force选项

postgres=# DROP DATABASE testdb WITH (force); 
DROP DATABASE
复制

https://www.postgresql.org/docs/13/sql-dropdatabase.html

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgreSQL 分区表到底有没有性能提升?
回答 2
分区后只提升了部分能命中分区规则的SQL性能,对于分区后仍然需要扫描整张表的查询,性能并没有改善。
postgresql中union联合查询,怎么给查询到的每条记录加一个字段,表示这条记录来自哪个表?
回答 1
已采纳
就像你说的,查的时候加个字段就是了呗select'tablea'tablename,a.col1,a.col2from tableaaunionallselect'tableb'tablen
pg数据库truncate table 会锁表吗? 和delete 锁表有什么不同?
回答 2
truncatetable也是事务操作。会变更字典和数据文件。delete会更新tuple信息,truncate是accessexeclusive,不建议高峰使用
postgreSQL 数组操作都效率低吗?
回答 1
在PostgreSQL中,数组操作的效率与具体场景和使用方式有关。一般情况下,使用合适的技术和优化策略可以获得高效的数组操作。以下是一些影响PostgreSQL数组操作效率的因素:数据量和复杂度:数组
pg高可用失效
回答 1
已采纳
希望能帮到你https://www.modb.pro/db/15359timeline不一致问题,如何同步1.备库执行checkpoint2.关闭备库,执行noderejoin
greenplum作为分析型数据库,还推荐用吗?
回答 2
已采纳
Greenplum作为一个分析型数据库,在特定的场景下仍然是一个有价值的选择。以下是一些使用Greenplum的典型情况:大规模数据分析:Greenplum适用于处理大规模数据集的数据分析工作负载。它
PostgreSQL 新增的用户 怎么像mysql那样只能连接指定的数据库不能进其他数据库?
回答 1
已采纳
在pghba.conf文件中可以配置指定的数据库
PostgreSQL 每张表的数据到达多少行就需要分区?
回答 2
已采纳
表的数据达到多少行和表的大小其实并不能决定是否需要分区,决定是否需要分区表的应该是SQL执行效率你是否能够接受。随着时间的推移,业务量的增涨,表必将越来越大,SQL执行效率也会随之降低。当效率降低到业
postgresql 的存储过程怎么实现从游标分批放数据到数组?
回答 1
能不能举个例子说明一下你想要实现的效果?
pg 10备份恢复中为什么报错未知参数,导致恢复失败
回答 4
已采纳
pgrestore脚本执行报错,还是手动执行报错,如果是前者先看环境变量,如果手动执行还报错查对应命令举止执行的路径权限等