Hola a amigos tengo una cosulta que me da los atributos de los campos de una 
tabla pero quiero mejorrarla por que cuando existen dos tablas con el mismo 
nombre en schemas distintos se me queda en la primera aparicion. es decir 
queiro arrreglarla para pasar el schema y el nombre de la tabla. 

--Esta fucniona pero sin especificar el schema quiero que tambien se le 
especifique el schema en alguna parte. Abajo intente hacer algo pero no me 
funciono. 


SELECT 
a.attnum, 
a.attname AS field, 
t.typname AS type, 
format_type(a.atttypid, a.atttypmod) AS complete_type, 
a.attnotnull AS isnotnull, 
(SELECT 't' 
FROM pg_index 
WHERE c.oid = pg_index.indrelid 
AND pg_index.indkey[0] = a.attnum 
AND pg_index.indisprimary = 't' 
) AS pri, 
(SELECT pg_attrdef.adsrc 
FROM pg_attrdef 
WHERE c.oid = pg_attrdef.adrelid 
AND pg_attrdef.adnum=a.attnum 
) AS default 
FROM pg_attribute a, pg_class c, pg_type t 
WHERE c.relname = 'Dat_email' 
AND a.attnum > 0 
AND a.attrelid = c.oid 
AND a.atttypid = t.oid 
ORDER BY a.attnum 


-- INNER JOIN information_schema.column_udt_usage 
on(information_schema.column_udt_usage.table_name = 'Dat_email') 
-- WHERE information_schema.column_udt_usage.table_schema = 'public' 

Responder a