我可以获得枚举,但我不知道如何通过数据库过滤它。
SELECT * FROM pg_catalog.pg_type t WHERE t.typtype = 'e';
这就是问题 - 如何按数据库过滤枚举?
答案 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';