PostgreSQL数据类型
PostgreSQL支持的类型特别丰富,大多数的类型和MySQL都有对应的关系
名称 | 说明 | 对比MySQL |
---|---|---|
布尔类型 | boolean,标准的布尔类型,只能存储true,false | MySQL中虽然没有对应的boolean,但是有替换的类型,数值的tinyint类型,和PostgreSQL的boolean都是占1个字节。 |
整型 | smallint(2字节),integer(4字节),bigint(8字节) | 跟MySQL没啥区别。 |
浮点型 | decimal,numeric(和decimal一样,精准浮点型),real(float),double precision(double),money(货币类型) | 和MySQL基本也没区别,MySQL支持float,double,decimal。MySQL没有这个货币类型。 |
字符串类型 | varchar(n)(character varying),char(n)(character),text | 这里和MySQL基本没区别。但PostgreSQL存储的varchar类型,可以存储一个G。MySQL最大存储65535b。 |
日期类型 | date(年月日),time(时分秒),timestamp(年月日时分秒)(time和timestamp可以设置时区) | 没啥说的,和MySQL基本没区别,但MySQL有个datetime。 |
二进制类型 | bytea-存储二进制类型 | MySQL也支持,MySQL中是blob |
位图类型 | bit(n)(定长位图),bit varying(n)(可变长度位图) | 就是存储0,1。MySQL也有,用的不多。 |
枚举类型 | enum,跟Java的enum一样 | MySQL支持。 |
几何类型 | 点,直线,线段,圆等等 | MySQL不支持,一般开发不用。 |
数组类型 | 在类型后,追加[],代表存储数组 | MySQL不支持 |
JSON类型 | json(存储JSON数据的文本),jsonb(存储JSON二进制) | 可以存储JSON,MySQL8.x也支持 |
IP类型 | cidr(存储ip地址) | MySQL不支持 |