如何按数据库过滤Postgres枚举?

时间:2014-07-24 16:21:28

标签: sql postgresql enums

我可以获得枚举,但我不知道如何通过数据库过滤它。

 SELECT * FROM pg_catalog.pg_type t WHERE t.typtype = 'e';

这就是问题 - 如何按数据库过滤枚举?

1 个答案:

答案 0 :(得分:2)

pg_catalog.pg_type不是共享目录。它是每个数据库。因此,根据定义,如果您在当前连接的数据库中pg_type中显示一行。

架构("命名空间")它由typnamespace列定义,您可以加入pg_catalog.pg_namespace.oid列,例如

select typname, nspname 
from pg_type 
inner join pg_namespace on pg_type.typnamespace = pg_namespace.oid 
where nspname = 'public';