PostgreSQL数据类型--字符串类型、二进制类型

 2015年03月24日    1584     声明


PostgreSQL支持两种字符型数据:文本字符串和二进制字符串。PostgreSQL提供了三种存储字符串的类型:char、varchar、text。bytea类型用于允许存储二进制字串。


类型名称 存储空间 长度
char(n)/character 用户定义 定长,有长度限制
varchar(n)/character varying(n) 用户定义 变长,有长度限制
text 实际长度 变长,无长度限制
tytea 4字节加上实际的二进制字串 变长,无长度限制


1.char和varchar类型

两种类型最多存储用户自定义长度N个字符。超出长度会产生错误,存储字符小于定义长度时,CHAR类型会用空格补满存储空间,VARCHAR类型只存储实际长度。


2.text类型

TEXT不是标准的SQL类型,许多数据库系统都实现了这一类型,在PostgreSQL中,TEXT可存储任意长度的字符串。


3.tytea类型

PostgreSQL提供了BYTEA类型,用于存储二进制字符串。BYTEA类型数据存储空间为用户实际二进制字符串加4字节。例如向file表file_byte字段插入E'\\001'数据,SQL语句如下:

INSERT INTO file file_byte VALUES (E'\\001);