如何使用单个sql语句检索postgresql中特定表的所有列的数据类型,大小,精度和比例?
该表可以包含数据类型的列('int2','int4','int8','float4','float8','numeric','varchar','char','date','时间戳“)。如果精度/比例不适用于特定数据类型,我们可以将其保留为null。
我不应该使用INFORMATION_SCHEMA,因为虽然这个架构是内置的,但我们可以放弃这个架构。所以我使用这个模式编写代码,如果客户如何删除此模式我的代码中断了。我只想使用pg_catalog
表/视图。
答案 0 :(得分:0)
information_schema中的表是系统表的视图。如果在psql中使用此命令,您将获得生成列视图的视图定义:
\dS+ information_schema.columns
你还有一些工作要做,因为对用户友好的输出的类型转换也是基于information_schema,但这不应该太难。
编辑:在8.4之前的版本中,您必须使用\ d +,而不是\ dS +