2014-02-25 40 views
0

我已經創建了一個樣例表,第一列定義爲citext。如何在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 

有沒有什麼辦法可以通過查詢postgreSQL中的任何表來找到,如果列的nick是類型的citext?

回答

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

+0

感謝。這正是我所期待的。 –

相關問題