gpt4 book ai didi

postgresql - 在 PostgreSQL 中查询表的模式详细信息?

转载 作者:行者123 更新时间:2023-11-29 11:20:16 24 4
gpt4 key购买 nike

我需要知道 PostgreSQL 中的列类型(即 varchar(20))。我知道我可能可以在 psql 中使用 \d 找到它,但我需要通过选择查询来完成它。
这在 PostgreSQL 中可能吗?

最佳答案

在 PostgreSQL 中有一种更简单的方法来获取列的类型。

SELECT pg_typeof(col)::text FROM tbl LIMIT 1

当然,表格必须至少包含一行。而且您只获得没有类型修饰符(如果有)的基本类型。如果您也需要,请使用下面的替代方案。
您也可以将该函数用于常量。 manual on pg_typeof() .

对于空(或任何)表,您可以使用查询系统目录 pg_attribute 来按顺序获取列的完整列表及其各自的类型:

SELECT attnum, attname AS column, format_type(atttypid, atttypmod) AS type
FROM pg_attribute
WHERE attrelid = 'myschema.mytbl'::regclass -- optionally schema-qualified
AND NOT attisdropped
AND attnum > 0
ORDER BY attnum;

关于 format_type() 的手册和 object identifier typesregclass

关于postgresql - 在 PostgreSQL 中查询表的模式详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4336259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com