首页 > 解决方案 > 即使使用 adminer 或 sql 命令 CONSTRAINT DOESN'T EXIST 也无法使用 postgres 删除约束

问题描述

即使使用管理员,我也无法在 postgres 中删除约束

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

查询错误:错误:关系“table_name”的约束“constraint_name”不存在

但是如果我创建一个新的,例如:

ALTER TABLE table_name
ADD CONSTRAINT my_new_constraint(column1, column2, ... column_n);

然后它起作用了,我可以放下它。

两年前做出我试图放弃的约束的人是这样做的:

create unique index constraint_name on table_name (column1,lower(column2),coalesce(deleted_at,\'19000101\')

如果有人有任何想法放弃这个约束?

标签: postgresql

解决方案


CREATE UNIQUE INDEX创建需要删除的索引,而DROP INDEX不是表约束。


推荐阅读