PostgreSQL支持多种数据类型,每种类型都有其特定的用途和特性。以下是一些主要的数据类型及其区别:
- 数值类型:
- 整数类型:包括smallint、integer和bigint。这些类型用于表示整数,其中smallint的范围是-32768到32767,integer的范围是-2147483648到2147483647,bigint的范围是-9223372036854775808到9223372036854775807。
- 浮点数类型:包括real和double precision。real类型提供单精度浮点数,而double precision提供双精度浮点数。
- 精确数值类型:包括numeric和decimal。这些类型用于表示精确的数值,可以指定精度和小数位数。
- 日期和时间类型:
- 日期类型:包括date、time和timestamp。date类型用于表示日期,time类型用于表示时间,timestamp类型用于表示日期和时间。
- 时间间隔类型:包括interval。该类型用于表示时间间隔,例如1天、2小时30分钟等。
- 字符串类型:
- 字符串类型:包括char、varchar和text。char类型用于存储定长字符串,varchar类型用于存储可变长字符串,text类型用于存储长文本。
- 二进制数据类型:
- 二进制数据类型:包括bytea。该类型用于存储二进制数据,例如图像、音频等。
- 布尔类型:
- 布尔类型:包括boolean。该类型用于存储布尔值,即true或false。
- 其他数据类型:
- UUID类型:用于存储通用唯一标识符(UUID)。
- XML类型:用于存储XML数据。
- JSON类型:用于存储JSON数据。
- 数组类型:包括数组类型的构造函数和数组类型本身。该类型用于存储一组相同类型的元素。
- 几何类型:包括几何类型的构造函数和几何类型本身。该类型用于存储几何形状,例如点、线、多边形等。
- 网络地址类型:包括cidr、inet和macaddr。该类型用于存储网络地址。
- 位串类型:包括bit和bit varying。该类型用于存储位序列。
- hstore类型:用于存储键值对的集合。
- jsonb类型:用于存储JSON数据的二进制格式。
- tsvector类型:用于存储全文搜索向量。
- tsquery类型:用于存储全文搜索查询。
- uuid类型:用于存储通用唯一标识符(UUID)。
- citext类型:用于存储不区分大小写的字符串。
- xml类型:用于存储XML数据。
- json类型:用于存储JSON数据。
- array类型:用于存储一组相同类型的元素。
- geometry类型:用于存储几何形状。
- network类型:用于存储IP地址和网络掩码。
- point类型:用于存储二维空间中的点。
- line类型:用于存储二维空间中的线段。
- lseg类型:用于存储二维空间中的线段。
- path类型:用于存储二维空间中的路径。
- polygon类型:用于存储二维空间中的多边形。
- circle类型:用于存储二维空间中的圆。
- box类型:用于存储二维空间中的矩形。
- pointz类型:用于存储三维空间中的点。
- linz类型:用于存储三维空间中的线段。
- segz类型:用于存储三维空间中的线段。
- pathz类型:用于存储三维空间中的路径。
- polygonz类型:用于存储三维空间中的多边形。
- circz类型:用于存储三维空间中的圆。
- boxz类型:用于存储三维空间中的矩形。
- tinterval类型:用于存储时间间隔。
- daterange类型:用于存储日期范围。
- numrange类型:用于存储数值范围。
- tsrange类型:用于存储时间戳范围。
- daterangetype类型:用于存储日期范围的类型化版本。
- numrangetype类型:用于存储数值范围的类型化版本。
- tsrangetype类型:用于存储时间戳范围的类型化版本。
- hstore类型:用于存储哈希表。
- jsonb类型:用于存储JSON数据的二进制格式。
- tsvector类型:用于存储全文搜索向量。
- tsquery类型:用于存储全文搜索查询。
- uuid类型:用于存储通用唯一标识符(UUID)。
- citext类型:用于存储不区分大小写的字符串。
- xml类型:用于存储XML数据。
- json类型:用于存储JSON数据。
- array类型:用于存储一组相同类型的元素。
- geometry类型:用于存储几何形状。
- network类型:用于存储IP地址和网络掩码。
- point类型:用于存储二维空间中的点。
- line类型:用于存储二维空间中的线段。
- lseg类型:用于存储二维空间中的线段。
- path类型