Thread: Drop CHECK Constraint
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
* Yan Cheng CHEOK wrote: > I was wondering, is there any good way to drop a constraint? Currently, I am making assumption on the check constraintname. > 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