PostgreSQL中的约束名称更新

有没有可能在Postgres中更改约束名称? 我有一个PK加上:

ALTER TABLE contractor_contractor ADD CONSTRAINT commerce_contractor_pkey PRIMARY KEY(id); 

而且我希望有不同的名字,以便与系统的其他部分保持一致。 我应该删除现有的PK约束,并创build一个新的? 还是有一个“软”的方式来pipe理呢?

谢谢!

对于主键,您应该能够:

 ALTER INDEX commerce_contractor_pkey RENAME TO whatever_new_name 

这对其他types的约束不起作用。 最好的select是放弃旧的,创build一个新的。 一定要在一个事务内部完成,所以系统在重build时没有它。 (如果你不能在交易中做到这一点,一定要先创build一个新的,然后放弃旧的)

要重命名PostgreSQL 9.2或更新版本中的现有约束,可以使用ALTER TABLE :

 ALTER TABLE name RENAME CONSTRAINT constraint_name TO new_constraint_name;