我们有一个带有相当大表(约 5000 万行)的 PostgreSQL 数据库。该表具有跨多个列的唯一约束,每一列都有索引。对于上下文,我最近删除了表中大约一半的行——旧数据。现在我想简单地删除多列唯一约束,所以我执行了这个 SQL:
alter table my_big_table drop constraint my_constraint_name
Run Code Online (Sandbox Code Playgroud)
但是,我在 10 多个小时前启动了该命令,它仍在运行,没有减弱的迹象。为什么删除约束需要这么长时间?有什么我遗漏的,或者有什么方法可以通过某种进度或状态指示来执行这样的操作?
(我在 Windows 64 位系统上使用 PostgreSQL 9.0,我通常使用 pgAdmin 连接到它,但我也可以使用命令行客户端或以编程方式连接。)
postgresql ×1