Yadisnel Galvez Velazquez escribió: > Hola: > Cómo saber dentro de un trigger en C cuándo una columna es llave primaria??
Tendrías que hacer un examen en el catálogo, pg_index y pg_attribute para ser más preciso. Algunas cosas ya las tienes en el TupleDesc al que deberías tener acceso, así que seguramente con sólo pg_index debería ser suficiente (extraes pg_index.indkey y luego usas los valores de ahí como índices de TupleDesc->attrs). Hmm, se me ocurre que si estás escribiendo en C seguramente puedes acceder a la información usando el relcache, que es más rápido que una consulta SQL. Me imagino que puedes hacer RelationGetIndexList y después darle relation_open() a cada OID hasta que encuentres uno con el rd_index que necesitas. -- Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4 Jude: I wish humans laid eggs Ringlord: Why would you want humans to lay eggs? Jude: So I can eat them -- TIP 4: No hagas 'kill -9' a postmaster