Drop CHECK Constraint

Started by Yan Cheng Cheokabout 15 years ago2 messagesgeneral
Jump to latest
#1Yan Cheng Cheok
yccheok@yahoo.com

I was wondering, is there any good way to drop a constraint? Currently, I am making assumption on the check constraint name.

Although it works at current moment, I do not feel comfortable with it in long run.

For example :

ALTER TABLE backup_table ADD CHECK (fk_lot_id = 99);

If I want to drop the above CHECK constraint, I will do

ALTER TABLE backup_table DROP CONSTRAINT backup_table_fk_lot_id_check; (I assume the constraint name will be backup_table_fk_lot_id_check)

Is there any more robust way?

Thanks and Regards
Yan Cheng CHEOK

#2Christian Ullrich
chris@chrullrich.net
In reply to: Yan Cheng Cheok (#1)
Re: Drop CHECK Constraint

* Yan Cheng CHEOK wrote:

I was wondering, is there any good way to drop a constraint? Currently, I am making assumption on the check constraint name.

ALTER TABLE backup_table ADD CHECK (fk_lot_id = 99);

If I want to drop the above CHECK constraint, I will do

ALTER TABLE backup_table DROP CONSTRAINT backup_table_fk_lot_id_check; (I assume the constraint name will be backup_table_fk_lot_id_check)

Is there any more robust way?

Name your constraints:

ALTER TABLE backup_table ADD CONSTRAINT lot_id_ck CHECK (fk_lot_id = 99)

Alternatively, you can get a list of constraints for your table from the
catalog:

SELECT conname
FROM pg_constraint
WHERE conrelid = 'backup_table'::regclass

You may have to add more conditions to the query.

--
Christian