Skip to content

默认数据类型映射

PostgreSQL与虚谷数据库的默认数据类型映射如表1所示。

PostgreSQL数据类型PostgreSQL列类型Xugu数据类型Xugu列类型
SMALLINTSMALLINTSMALLINTSMALLINT
INT
INTEGER
INTEGERINTEGERINTEGER
BIGINTBIGINTBIGINTBIGINT
DECIMAL[(M[,D])]
NUMERIC[(M[,D])]
NUMERICNUMERICNUMERIC
REALREALFLOATFLOAT
DOUBLE PRESICIONDOUBLE PRESICIONDOUBLEDOUBLE
SMALLSERIAL
SERIAL
BIGSERIAL
SAMLLINTRGER
INTRGER
BIGINTRGER
INTEGER identity(1,1)
INTEGER identity(1,1)
BIGINTEGER identity(1,1)
INTEGER
CHARACTER(M)
CHAR(M)
CHARACTERCHARACTER(M)
CHAR(M)
CHAR
CHARACTER VARYING(M)
VARCHAR(M)
CHARACTER VARYINGCHARACTER VARYING(M)
VARCHAR(M)
VARCHAR
TEXTTEXTCLOBCLOB
BYTEABYTEABINARYBINARY
TIMESTAMP[(M)] [WITHOUT TIME ZONE]TIMESTAMP WITHOUT TIME ZONETIMESTAMPTIMESTAMP
TIMESTAMP[(M)] WITH TIME ZONETIMESTAMP WITH TIME ZONETIMESTAMP[(M)] WITH TIME ZONEDATETIME WITH TIME ZONE
DATEDATEDATEDATE
TIME[(M)] [WITHOUT TIME ZONE]TIME WITHOUT TIME ZONETIMETIME
TIME[(M)] WITH TIME ZONETIME WITH TIME ZONETIME[(M)] WITH TIME ZONETIME WITH TIME ZONE
INTERVALINTERVALINTERVALINTERVAL
BOOLEANBOOLEANBOOLEANBOOLEAN
ENUMENUM
BIT[(M)]BIT
BIT VARYING[(M)]BIT VARYING
TSVECTORTSVECTOR
TSQUERYTSQUERY
UUIDUUIDGUIDGUID
XMLXML
JSONJSON
  1. PostgreSQL数据类型的特殊值:

    1. numeric类型数据可以插入NaN字符串,带单引号插入,含义为“不是一个数”。
    2. real、double precision类型数据可以插入NaN、infinity、 -infinity字符串,带单引号插入,含义分别为 “不是一个数”、“正无穷大”、“负无穷大”。
    3. 日期/时间类型插入特殊字符串。
      输入字符串 适用类型描述
      epochdate, timestamp1970-01-01 00:00:00+00 (Unix 系统零时)
      infinitydate, timestamp比任何其它时间戳都晚
      -infinitydate, timestamp比任何其它时间戳都早
      nowdate, time, timestamp 当前事务的开始时间
      todaydate, timestamp今日午夜
      tomorrowdate, timestamp明日午夜
      yesterdaydate, timestamp昨日午夜
      allballstime00:00:00.00 UTC
  2. PostgreSQL的序列号类型(smallserial、serial、bigintserial)不是真正的类型,是一个逻辑类型,实质上就是INTEGER类型加了默认自增值,INTEGER NOT NULL DEFAULT nextval('tablename_colname_seq'),其中small和big分别对应INTEGER的small与big。