Поддерживаемые типы данных
В следующей таблице показаны поддерживаемые типы данных источника PostgreSQL и их сопоставление по умолчанию с типами данных Data Movement Gateway.
При репликации в цель на основе PostgreSQL исходные и целевые типы данных будут совпадать, за исключением случаев, описанных в разделе Гомогенная репликация.
Инструкции по просмотру типа данных, сопоставленного в цели, см. в разделе, посвященном используемому коннектору цели (коннектор).
Типы данных PostgreSQL | Типы данных Data Movement Gateway |
---|---|
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 сопоставляется с FLOAT в Microsoft SQL Server. |
CHAR |
WSTRING (1) |
CHAR(n) |
WSTRING (n) |
VARCHAR(n) Примечание к информации
VARCHAR без длины (n) не распознается как допустимый тип данных целевыми конечными точками. По этой причине, если исходный столбец имеет тип данных VARCHAR без явно заданной длины, Data Movement Gateway задает длину по умолчанию 8000 байтов. Чтобы изменить значение по умолчанию, можно задать необходимую длину в следующем внутреннем параметре: unboundedVarcharMaxSize Для получения информации о настройке внутренних параметров см. раздел PostgreSQL. |
WSTRING (n) |
TEXT |
NCLOB |
BYTEA |
BLOB |
TIMESTAMP |
DATETIME |
TIMESTAMP (z) |
DATETIME |
DATE Примечание к информацииData Movement Gateway поддерживает только формат 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 осуществляется с использованием широкой строки (где каждый символ занимает два байта). Поэтому при репликации столбцов JSON в цель PostgreSQL задайте в качестве ограниченного размера LOB удвоенную максимальную длину JSON. Так, например, если длина данных JSON составляет 4 КБ, задайте ограниченный размер LOB 8 КБ. |
NCLOB |
JSONB Примечание к информации
Чтение и запись данных JSONB осуществляется с использованием широкой строки (где каждый символ занимает два байта). Поэтому при репликации столбцов JSONB в цель PostgreSQL задайте в качестве ограниченного размера LOB удвоенную максимальную длину JSONB. Так, например, если длина данных JSONB составляет 4 КБ, задайте ограниченный размер LOB 8 КБ. |
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) |