假设我有一个用户定义的类型,如下所示:
CREATE TYPE mytype AS
(myvar character(1),
myvar2 bit(10));
我可以使用任何 Postgres 的信息表来获取此类型的属性信息吗:
即给定“mytype”,我想要的信息是:
myvar : character(1)
myvar2 : bit(10)
最佳答案
是的,pg_type
表将填充 typrelid
列。这是 pg_class
表的 OID 键,然后在 pg_attribute
表中使用,就像表、 View 、索引等一样。比如:
select attname, format_type(atttypid, atttypmod)
from pg_type
join pg_class on pg_class.oid = pg_type.typrelid
join pg_attribute on pg_attribute.attrelid = pg_class.oid
where typname = 'mytype'
order by attnum
关于database - 如何在 Postgres 中找到用户自定义类型的属性信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195464/