S R Madhu wrote:
We have created a table "student".
Foreign key and triggers are created in student. We are able to map triggers
and constraints from pg_class table.
We have used following mapping mechanism to get the trigger name.
pg_class.relfilenode -> pg_trigger.tgrelid.
We have used following mapping mechanism to get the constraint name.
pg_class.relfilenode -> pg_constraint.conrelid.
Problem : After ALTER TABLE command to this table, We are not able to map
triggers/constraints and tables.
relfilenode in pg_class is changed after ALTER TABLE.
but this is not reflected in pg_constraint/pg_triggers.
pg_trigger.tgrelid and pg_constraint.conrelid reference the oid of the
relation, not relfilenode. Initially, relfilenode happens to have the
same value, but as you noticed, some commands like ALTER TABLE change it.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq