在 Postgres 中为特定数据库列出所有用户创建的枚举

1N5*_*818 2 postgresql enums

数据库中有数十个表,其中包含许多使用用户定义枚举的字段。是否有一种简单的方法可以列出特定数据库的所有用户定义的枚举类型(该数据库中所有表中使用的所有枚举)?

其中一些存在的是诸如weekday,user_type等...但我不想手动查找它们。

我知道如果我有一个,我可以用类似的东西枚举所有可能的值select enum_range(enum_first(null::weekday),null::weekday),但这不是我要找的。

1N5*_*818 5

格斯给出了答案。

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;