在 Postgres 中,我正在考虑查询pg_type
我定期使用的最新枚举列表。我会使用这样的东西:
SELECT pg_type.typname AS enum_type, pg_enum.enumlabel AS enmu_label FROM
pg_type JOIN pg_enum ON pg_enum.enumtypid = pg_type.oid;
或者
SELECT distinct pg_type.typname AS enum_type FROM pg_type JOIN pg_enum ON
pg_enum.enumtypid = pg_type.oid;
这是不好的做法吗?
@Jack说的。另外,如果您只需要枚举类型的注册值列表,那么有一些枚举支持函数可以做到这一点。基于杰克的例子:
这对未来主要 Postgres 版本中可能会破坏您的查询的(不太可能)更改更简单且具有弹性。
dbfiddle在这里
不,一点也不,修改目录是不好的做法,但没有理由不查询它。
但是在你的查询中......
......没有任何需要加入
pg_enum
和使用distinct
:dbfiddle在这里