wow, exactamente los que estaba tratando de hacer, gracias por todo ----- Mensaje original -----
De: "anthony" <asotolo...@uci.cu> Para: "Arcel Labrada Batista" <alabra...@uci.cu> CC: pgsql-es-ayuda@postgresql.org Enviados: Miércoles, 27 de Marzo 2013 10:10:42 Asunto: Re: [pgsql-es-ayuda] como saber si un smallint esta contenido en un smallint[] ha que bien colega, bueno aquí te dejo una que te puede ayudar a lo que deseas con las FK: SELECT pg_constraint.conname as nombrellave , pg_get_constraintdef(pg_constraint.oid) as definicion, pg_class.relname AS tabla,(select a.relname from pg_class a where a.oid=pg_constraint.confrelid) as tablaforanea, case confmatchtype when 'u' then 'MATCH simple ' when 'f' then 'MATCH full' when 'p' then 'MATCH partial' end as tipo, case confupdtype when 'a' then 'no action ' when 'r' then 'restrict' when 'c' then 'cascade' when 'n' then 'set null' else 'default' end as onupdate , case confdeltype when 'a' then 'no action ' when 'r' then 'restrict' when 'c' then 'cascade' when 'n' then 'set null' else 'default' end as ondelete FROM pg_constraint, pg_class WHERE (pg_constraint.contype = 'f'::"char") AND (pg_constraint.conrelid = pg_class.oid) saludos El 27/03/13 10:57, Arcel Labrada Batista escribió: gracias anthony, realmente ya encontré lo que buscaba, es una consulta de apoyo para tratar de eliminar todos los contraints de mi BD de manera dinámica y luego volverlos a construir, por ahora lo que tengo es lo siguiente select ct.conname,cl.relname,atr.attname from pg_constraint ct inner join pg_class cl on (ct.conrelid = cl.oid) inner join pg_attribute atr on (atr.attrelid =cl.oid and atr.attnum = any(ct.conkey)) ; esto me devuelve el nombre del contraint, nombre de la tabla y del atributo que tiene el contraint, ahora voy a agregarle a quien hace referencia y el operador pero ya mi duda fue resuelta utilizando la ayuda de postgres, específicamente el trabajo con arreglo ----- Mensaje original ----- De: "anthony" <asotolo...@uci.cu> Para: pgsql-es-ayuda@postgresql.org Enviados: Miércoles, 27 de Marzo 2013 9:49:27 Asunto: Re: [pgsql-es-ayuda] como saber si un smallint esta contenido en un smallint[] cual es la consulta , que necesitas saber, a lo mejor hay otra via de obtenerlo. saludos El 27/03/13 10:45, Arcel Labrada Batista escribió: <blockquote> Estoy tratando de hacer una consulta al catalogo de postgres entre las tabla pg_constraint y pg_attribute, en la tabla pg_constraint existe un campo que se llama conkey que segun el catalogo hace referencia al campo attnum de pg_attribute, pero resulta que realmente es un smallint[], puede contener varios pg_attribute y necesito saber como preguntar esto para hacer el inner join, espero haberme explicado bien, gracias de antemano </blockquote> http://www.uci.cu