PostgreSQL支持多种数据类型,这些类型可以满足各种应用程序的需求。以下是一些主要的数据类型:
smallint(16位整数)、integer(32位整数)、bigint(64位整数)等。real(32位浮点数)、double precision(64位双精度浮点数)等。numeric(任意精度的有符号十进制数)和money(货币类型)。char(固定长度的字符串)varchar(可变长度的字符串)text(长文本)bpchar(固定长度的字符型,与char类似,但有一些额外的特性)date(日期值,格式为YYYY-MM-DD)time(时间值,格式为HH:MM:SS)timestamp(日期和时间值,格式为YYYY-MM-DD HH:MM:SS)timestamptz(带时区的日期和时间值)interval(时间间隔值)bytea(二进制数据,类似于数据库中的BLOB类型)boolean(布尔值,TRUE或FALSE)uuid(通用唯一标识符)json(JSON数据类型)jsonb(二进制JSON数据类型,对JSON数据的查询和操作更快)array(数组类型,可以存储同一数据类型的多个值)record(记录类型,用于定义复合数据类型)enum(枚举类型,允许在预定义的常量集合中选择一个值)range(范围类型,用于表示一个范围内的值)tsvector(全文搜索向量类型)tsquery(全文搜索查询类型)hstore(键值对的哈希表类型)geometry(几何类型,用于存储空间数据)geography(地理空间类型,用于存储地理空间数据)jsonpath(用于查询JSON数据的路径表达式类型)xml(XML数据类型)smgr(存储管理器类型,用于管理数据库对象的存储)citext(不区分大小写的文本类型)bit(位字段类型,用于存储二进制位)_bit(位字段类型,用于存储二进制位,但长度可变)bit varying(可变长度的位字段类型)hll(HyperLogLog类型,用于近似计算基数)uuid(通用唯一标识符类型)lseg(线段类型,用于存储两点之间的线段)path(路径类型,用于存储一维几何对象)box(盒子类型,用于存储二维矩形区域)circle(圆形类型,用于存储圆)point(点类型,用于存储零维几何对象)polygon(多边形类型,用于存储二维多边形区域)cidr(无类别域间路由类型,用于存储IP地址和网络掩码)inet(互联网地址类型,用于存储IPv4或IPv6地址)macaddr(媒体访问控制地址类型,用于存储MAC地址)cstring(C风格字符串类型)name(名称类型,用于存储数据库对象的名称)oid(对象标识符类型,用于存储对象的唯一标识符)regclass(注册类类型,用于存储表、索引等对象的类别)regnamespace(注册命名空间类型,用于存储模式、表空间等对象的命名空间)regproc(注册过程类型,用于存储函数、操作符等对象的类型)regtype(注册类型类型,用于存储用户定义的数据类型)pg_catalog.pg_class(系统目录表,包含所有数据库对象的信息)pg_catalog.pg_namespace(系统目录表,包含所有模式和命名空间的信息)pg_catalog.pg_roles(系统目录表,包含所有数据库角色的信息)pg_catalog.pg_tablespace(系统目录表,包含所有表空间的信息)pg_catalog.pg_collation(系统目录表,包含所有排序规则的信息)