跳到主要内容

支持的数据类型

下表显示了支持的 PostgreSQL 源数据类型及其到 数据移动网关 数据类型的默认映射。

将数据复制到基于 PostgreSQL 的目标时,除了 同性质复制 中描述的例外情况外,源数据类型和目标数据类型相同。

有关如何查看映射到目标中的数据类型的信息,请参阅您正在使用的目标 连接器 的部分。

支持的数据类型
PostgreSQL 数据类型 数据移动网关 数据类型

INTEGER

INT4

SMALLINT

INT2

BIGINT

INT8

NUMERIC

NUMERIC(28,6)

NUMERIC(p,s)

如果精度 =< 38,则为:

NUMERIC(p,s)

如果精度 => 39,则为:

STRING

DECIMAL

NUMERIC(28,6)

DECIMAL(p,s)

如果精度 =< 38,则为:

NUMERIC(p,s)

如果精度 => 39,则为:

STRING

REAL

REAL4

DOUBLE

REAL8

SMALLSERIAL

INT2

SERIAL

INT4

BIGSERIAL

INT8

MONEY

NUMERIC(38,4)

信息注释

将 MONEY 数据类型映射到 Microsoft SQL Server 中的 FLOAT。

CHAR

WSTRING(1)

CHAR(n)

WSTRING (n)

VARCHAR(n)

信息注释

没有长度 (n) 的 VARCHAR 不会被目标端点识别为有效的数据类型。因此,如果源列数据类型设置为 VARCHAR 而没有显式长度,则 数据移动网关 将设置 8000 字节的默认长度。

您可以通过将以下内部参数设置为所需的长度来更改默认值:

unboundedVarcharMaxSize

有关设置内部参数的信息,请参阅PostgreSQL

WSTRING (n)

TEXT

NCLOB

BYTEA

BLOB

TIMESTAMP

DATETIME

TIMESTAMP (z)

DATETIME

DATE

信息注释数据移动网关 仅支持 ISO 格式的文本 DATE 格式(默认)。如果使用其他格式,将生成一个错误。您可以在 postgresql.conf 文件中或使用 PGDATESTYLE 环境变量更改日期格式。您也可以在数据库级别更改日期格式。

DATE

TIME

TIME

TIME (z)

TIME

INTERVAL

STRING (128) - 1 YEAR, 2 MONTHS, 3 DAYS, 4 HOURS, 5 MINUTES, 6 SECONDS

BOOLEAN

BOOLEAN

ENUM

STRING (64)

CIDR

STRING (50)

INET

STRING (50)

MACADDR

STRING (18)

BIT (n)

STRING (n)

BIT VARYING (n)

STRING (n)

UUID

STRING

TSVECTOR

CLOB

TSQUERY

CLOB

XML

CLOB

POINT

STRING (255) "(x,y)"

LINE

STRING (255) "(x,y,z)"

LSEG

STRING (255) "((x1,y1),(x2,y2))"

BOX

STRING (255) "((x1,y1),(x2,y2))"

PATH

CLOB "((x1,y1),(xn,yn))"

POLYGON

CLOB "((x1,y1),(xn,yn))"

CIRCLE

STRING (255) "(x,y),r"

JSON

信息注释

读取和写入 JSON 数据是使用宽字符串执行的(其中每个字符占用 2 个字节)。因此,当将 JSON 列复制到 PostgreSQL 目标时,将有限的 LOB 大小设置为 JSON 最大长度的两倍。因此,例如,如果 JSON 数据为 4KB,则将有限的 LOB 大小值设置为 8KB。

NCLOB

JSONB

信息注释

读取和写入 JSONB 数据是使用宽字符串执行的(其中每个字符占用 2 个字节)。因此,当将 JSONB 列复制到 PostgreSQL 目标时,将有限的 LOB 大小设置为 JSONB 最大长度的两倍。因此,例如,如果 JSONB 数据为 4KB,则将有限的 LOB 大小值设置为 8KB。

NCLOB

ARRAY

NCLOB

COMPOSITE

NCLOB

INT4RANGE STRING (255)
INT8RANGE STRING (255)
NUMRANGE STRING (255)
TSRANGE STRING (255)
INT4MULTIRANGE STRING (255)
INT8MULTIRANGE STRING (255)
NUMMULTIRANGE STRING (255)
TSMULTIRANGE STRING (255)

CHARACTER VARYING

如果指定了长度:

WSTRING (LENGTH)

如果未指定长度:

WSTRING(8000)

TINTERVAL

WSTRING(255)

信息注释不支持 PostGIS 数据类型

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!