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不支持

其他类型:http://www.postgres.cn/docs/12/datatype.html