支持的数据类型
下表显示了支持的 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) |