如何在postgreSQL中识别类型为citext的列

时间:2014-02-25 09:56:47

标签: sql postgresql

我创建了一个样本表,第一列定义为citext。

CREATE TABLE users (
nick CITEXT PRIMARY KEY,
pass TEXT   NOT NULL
);

当我尝试执行以下查询以获取列名及其数据类型时,nick列的数据类型将返回为USER-DEFINED。

select column_name, data_type from information_schema.columns
where table_name = 'users';

   column_name  |   data_type
1  nick         |   USER-DEFINED
2  pass         |   text

如果列缺口的类型为citext,我是否可以通过查询postgreSQL中的任何表来找到答案?

1 个答案:

答案 0 :(得分:0)

您需要使用列udt_name而不是data_type

create type compfoo AS (f1 int, f2 text);

create table compfoo_table (cp compfoo);

select udt_name from information_schema.columns where column_name = 'cp';

-- drop table compfoo_table;
-- drop type compfoo;

Documentation