这里还有个小小的疑问:
在PostgreSQL数据库中我没发现有varchar类型。但是能使用varchar建表。是怎么回事?CREATE TABLE test(
id INT NOT NULL ,
title VARCHAR (100) NOT NULL,
auther VARCHAR(50),
sentence VARCHAR(1000) NOT NULL
);
这样建表成功了的。在系统数据里postgres中有个pg_type的系统表.我在这个表里找不到varchar类型只找到一个_varchar这个类型。前面多了个下划线!下面是对postgresql支持的所有类型:
我很疑惑:望解答......
peek=> \i ./select.sql
typname | typtype | typcategory | typdelim | typalign
-----------------------------------+---------+-------------+----------+----------
bool | b | B | , | c
bytea | b | U | , | i
char | b | S | , | c
name | b | S | , | c
int8 | b | N | , | d
int2 | b | N | , | s
int2vector | b | A | , | i
int4 | b | N | , | i
regproc | b | N | , | i
text | b | S | , | i
oid | b | N | , | i
tid | b | U | , | s
xid | b | U | , | i
cid | b | U | , | i
oidvector | b | A | , | i
pg_type | c | C | , | d
pg_attribute | c | C | , | d
pg_proc | c | C | , | d
pg_class | c | C | , | d
xml | b | U | , | i
_xml | b | A | , | i
smgr | b | U | , | s
point | b | G | , | d
lseg | b | G | , | d
path | b | G | , | d
box | b | G | ; | d
polygon | b | G | , | d
line | b | G | , | d
_line | b | A | , | d
float4 | b | N | , | i
float8 | b | N | , | d
abstime | b | D | , | i
reltime | b | T | , | i
tinterval | b | T | , | i
unknown | b | X | , | c
circle | b | G | , | d
_circle | b | A | , | d
money | b | N | , | d
_money | b | A | , | d
macaddr | b | U | , | i
inet | b | I | , | i
cidr | b | I | , | i
_bool | b | A | , | i
_bytea | b | A | , | i
_char | b | A | , | i
_name | b | A | , | i
_int2 | b | A | , | i
_int2vector | b | A | , | i
_int4 | b | A | , | i
_regproc | b | A | , | i
_text | b | A | , | i
_oid | b | A | , | i
_tid | b | A | , | i
_xid | b | A | , | i
_cid | b | A | , | i
_oidvector | b | A | , | i
_bpchar | b | A | , | i
_varchar | b | A | , | i
_int8 | b | A | , | d
_point | b | A | , | d
_lseg | b | A | , | d
_path | b | A | , | d
_box | b | A | ; | d
_float4 | b | A | , | i
_float8 | b | A | , | d
.........
在PostgreSQL数据库中我没发现有varchar类型。但是能使用varchar建表。是怎么回事?CREATE TABLE test(
id INT NOT NULL ,
title VARCHAR (100) NOT NULL,
auther VARCHAR(50),
sentence VARCHAR(1000) NOT NULL
);
这样建表成功了的。在系统数据里postgres中有个pg_type的系统表.我在这个表里找不到varchar类型只找到一个_varchar这个类型。前面多了个下划线!下面是对postgresql支持的所有类型:
我很疑惑:望解答......
peek=> \i ./select.sql
typname | typtype | typcategory | typdelim | typalign
-----------------------------------+---------+-------------+----------+----------
bool | b | B | , | c
bytea | b | U | , | i
char | b | S | , | c
name | b | S | , | c
int8 | b | N | , | d
int2 | b | N | , | s
int2vector | b | A | , | i
int4 | b | N | , | i
regproc | b | N | , | i
text | b | S | , | i
oid | b | N | , | i
tid | b | U | , | s
xid | b | U | , | i
cid | b | U | , | i
oidvector | b | A | , | i
pg_type | c | C | , | d
pg_attribute | c | C | , | d
pg_proc | c | C | , | d
pg_class | c | C | , | d
xml | b | U | , | i
_xml | b | A | , | i
smgr | b | U | , | s
point | b | G | , | d
lseg | b | G | , | d
path | b | G | , | d
box | b | G | ; | d
polygon | b | G | , | d
line | b | G | , | d
_line | b | A | , | d
float4 | b | N | , | i
float8 | b | N | , | d
abstime | b | D | , | i
reltime | b | T | , | i
tinterval | b | T | , | i
unknown | b | X | , | c
circle | b | G | , | d
_circle | b | A | , | d
money | b | N | , | d
_money | b | A | , | d
macaddr | b | U | , | i
inet | b | I | , | i
cidr | b | I | , | i
_bool | b | A | , | i
_bytea | b | A | , | i
_char | b | A | , | i
_name | b | A | , | i
_int2 | b | A | , | i
_int2vector | b | A | , | i
_int4 | b | A | , | i
_regproc | b | A | , | i
_text | b | A | , | i
_oid | b | A | , | i
_tid | b | A | , | i
_xid | b | A | , | i
_cid | b | A | , | i
_oidvector | b | A | , | i
_bpchar | b | A | , | i
_varchar | b | A | , | i
_int8 | b | A | , | d
_point | b | A | , | d
_lseg | b | A | , | d
_path | b | A | , | d
_box | b | A | ; | d
_float4 | b | A | , | i
_float8 | b | A | , | d
.........
也不可能每一种数据类型都有一个别别名吧?
怎样才能从系统里查看到PostgreSQL所支持的所有数据类型?