我遇到了一个奇怪的地方,PostgreSQL在表中设置了data_type
to 。我做了以下查询以获得一些见解:ARRAY
information_schema.columns
SELECT * FROM information_schema.columns
WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
AND table_name='__table_name__';
我注意到该udt_name
列,想知道它是否是确定列数据是什么类型的数组的可靠方法?
SELECT column_name, data_type, udt_name FROM information_schema.columns
WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
AND table_name='__table_name__';
一种选择是简单地
udt_name
转换为regtype
:另一种选择是使用函数
format_type()
,但这需要oid
数据类型: