我在基于命令行的环境中与PostgreSQL进行交互,并且我希望能够确定此数据库中表列的数据类型。
举个简单的例子,我要求
SELECT * FROM products
我想知道它返回的product id
列是否为我提供了文字或整数。
答案 0 :(得分:2)
您可以通过查询目录来获取此类信息。
要查找特定查询,请运行psql -E
(以回显隐藏查询),然后运行{ \d products
。您将看到psql输出各种查询,这些查询产生有关您的表,其列类型,索引等的信息。
在这种特定情况下,您可以执行以下操作:
SELECT a.attname,
pg_catalog.format_type(a.atttypid, a.atttypmod)
FROM pg_catalog.pg_attribute a
WHERE a.attrelid = 'products'::regclass AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum;