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

Reply via email to