数据类型 ================ .. toctree:: :maxdepth: 3 datatype-numeric.rst datatype-money.rst datatype-character.rst datatype-binary.rst datatype-datetime.rst datatype-boolean.rst datatype-enum.rst datatype-geometric.rst datatype-net-types.rst datatype-bit.rst datatype-uuid.rst datatype-xml.rst datatype-json.rst arrays.rst rowtypes.rst rangetypes.rst domains.rst datatype-oid.rst datatype-pg-lsn.rst datatype-pseudo.rst DISABLED_sql-createtype.rst PostgreSQL有着丰富的本地数据类型可用。用户可以使用\ `CREATE TYPE `__\ 命令为 PostgreSQL增加新的数据类型。 `表 `__\ 显示了所有内建的普通数据类型。大部分在“别名”列里列出的可选名字都是因历史原因 被PostgreSQL在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以用,但没有在这里列出。 .. container:: table :name: DATATYPE-TABLE **表 数据类型** .. container:: table-contents +----------------------+----------------------+----------------------+ | 名字 | 别名 | 描述 | +======================+======================+======================+ | ``bigint`` | ``int8`` | 有符号的8字节整数 | +----------------------+----------------------+----------------------+ | ``bigserial`` | ``serial8`` | 自动增长的8字节整数 | +----------------------+----------------------+----------------------+ | ``bit [ (n``) ] |   | 定长位串 | +----------------------+----------------------+----------------------+ | ` | ``varbit [ (n``) ] | 变长位串 | | `bit varying [ (n``) | | | | ] | | | +----------------------+----------------------+----------------------+ | ``boolean`` | ``bool`` | 逻辑布尔值(真/假) | +----------------------+----------------------+----------------------+ | ``box`` |   | 平面上的普通方框 | +----------------------+----------------------+----------------------+ | ``bytea`` |   | 二进 | | | | 制数据(“字节数组”) | +----------------------+----------------------+----------------------+ | ``character [ (n``) | ``char [ (n``) ] | 定长字符串 | | ] | | | +----------------------+----------------------+----------------------+ | ``chara | ``varchar [ (n``) ] | 变长字符串 | | cter varying [ (n``) | | | | ] | | | +----------------------+----------------------+----------------------+ | ``cidr`` |   | IPv4或IPv6网络地址 | +----------------------+----------------------+----------------------+ | ``circle`` |   | 平面上的圆 | +----------------------+----------------------+----------------------+ | ``date`` |   | 日 | | | | 历日期(年、月、日) | +----------------------+----------------------+----------------------+ | ``double precision`` | ``float8`` | 双 | | | | 精度浮点数(8字节) | +----------------------+----------------------+----------------------+ | ``inet`` |   | IPv4或IPv6主机地址 | +----------------------+----------------------+----------------------+ | ``integer`` | ``int``, ``int4`` | 有符号4字节整数 | +----------------------+----------------------+----------------------+ | ` |   | 时间段 | | `interval [ fields`` | | | | ] [ (*``p``*) ] | | | +----------------------+----------------------+----------------------+ | ``json`` |   | 文本 JSON 数据 | +----------------------+----------------------+----------------------+ | ``jsonb`` |   | 二进制 JSON | | | | 数据,已分解 | +----------------------+----------------------+----------------------+ | ``line`` |   | 平面上的无限长的线 | +----------------------+----------------------+----------------------+ | ``lseg`` |   | 平面上的线段 | +----------------------+----------------------+----------------------+ | ``macaddr`` |   | MAC(Media Access | | | | Control)地址 | +----------------------+----------------------+----------------------+ | ``macaddr8`` |   | MAC(Media Access | | | | Control | | | | )地址(EUI-64格式) | +----------------------+----------------------+----------------------+ | ``money`` |   | 货币数量 | +----------------------+----------------------+----------------------+ | ``numeric [ (p``, | ``decimal [ (p``, | 可选择精度的精确数字 | | *``s``*) ] | *``s``*) ] | | +----------------------+----------------------+----------------------+ | ``path`` |   | 平面上的几何路径 | +----------------------+----------------------+----------------------+ | ``pg_lsn`` |   | PostgreSQL日志序列号 | +----------------------+----------------------+----------------------+ | ``point`` |   | 平面上的几何点 | +----------------------+----------------------+----------------------+ | ``polygon`` |   | 平面上的封闭几何路径 | +----------------------+----------------------+----------------------+ | ``real`` | ``float4`` | 单 | | | | 精度浮点数(4字节) | +----------------------+----------------------+----------------------+ | ``smallint`` | ``int2`` | 有符号2字节整数 | +----------------------+----------------------+----------------------+ | ``smallserial`` | ``serial2`` | 自动增长的2字节整数 | +----------------------+----------------------+----------------------+ | ``serial`` | ``serial4`` | 自动增长的4字节整数 | +----------------------+----------------------+----------------------+ | ``text`` |   | 变长字符串 | +----------------------+----------------------+----------------------+ | ``time [ (p``) ] [ |   | 一 | | without time zone ] | | 天中的时间(无时区) | +----------------------+----------------------+----------------------+ | ``time [ (p``) ] | ``timetz`` | 一 | | with time zone | | 天中的时间,包括时区 | +----------------------+----------------------+----------------------+ | ``timestamp [ (p``) |   | 日期和时间(无时区) | | ] [ without time | | | | zone ] | | | +----------------------+----------------------+----------------------+ | ``timestamp [ (p``) | ``timestamptz`` | 日期和时间,包括时区 | | ] with time zone | | | +----------------------+----------------------+----------------------+ | ``tsquery`` |   | 文本搜索查询 | +----------------------+----------------------+----------------------+ | ``tsvector`` |   | 文本搜索文档 | +----------------------+----------------------+----------------------+ | ``txid_snapshot`` |   | 用户级别事务ID快照 | +----------------------+----------------------+----------------------+ | ``uuid`` |   | 通用唯一标识码 | +----------------------+----------------------+----------------------+ | ``xml`` |   | XML数据 | +----------------------+----------------------+----------------------+ .. note:: .. rubric:: 兼容性 :name: 兼容性 :class: title 下列类型(或者及其拼写)是SQL指定的:\ ``bigint``\ 、\ ``bit``\ 、\ ``bit varying``\ 、\ ``boolean``\ 、\ ``char``\ 、\ ``character varying``\ 、\ ``character``\ 、\ ``varchar``\ 、\ ``date``\ 、\ ``double precision``\ 、\ ``integer``\ 、\ ``interval``\ 、\ ``numeric``\ 、\ ``decimal``\ 、\ ``real``\ 、\ ``smallint``\ 、\ ``time``\ (有时区或无时区)、\ ``timestamp``\ (有时区或无时区)、\ ``xml``\ 。 每种数据类型都有一个由其输入和输出函数决定的外部表现形式。许多内建的类型有明显的格式。不过,许多类型要么是PostgreSQL所特有的(例如几何路径),要么可能是有几种不同的格式(例如日期和时间类型)。 有些输入和输出函数是不可逆的,即输出函数的结果和原始输入比较时可能丢失精度。