我可以得到 Postgres 数据类型的长度、精度和比例,如下所示,
SELECT c.column_name, c.data_type, c.character_maximum_length, c.numeric_precision
c.numeric_scale, e.data_type AS element_type
FROM information_schema.columns c
LEFT JOIN information_schema.element_types e
ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier) =
(e.object_catalog, e.object_schema, e.object_name, e.object_type,
e.collection_type_identifier))
WHERE c.table_schema ='Schema' AND c.table_name ='Table'
但是有些我无法获得所有数组数据类型(如 CHAR[]、BIT VARYING[]、VARCHAR[] 等)的长度、精度和比例。
在 element_types 的帮助下,我几乎完成了正确获取数组数据类型的工作,但该视图并不能帮助我获得数组数据类型的长度、精度和比例。
请让我知道我们对此的评论。
注意:我正在使用 Postgres 9.2
谢谢,拉维