Unterstützte Datentypen
Die folgende Tabelle zeigt die unterstützten PostgreSQL-Quelldatentypen sowie deren Standardzuordnung zu Data Movement Gateway-Datentypen.
Wenn an ein PostgreSQL-basiertes Ziel repliziert wird, sind der Quell- und Zieldatentyp gleich, abgesehen von den in Homogene Replikation beschriebenen Ausnahmen.
Weitere Informationen zum Anzeigen des Datentyps, der im Ziel zugeordnet ist, finden Sie im Abschnitt für den verwendeten Ziel-Konnektor.
PostgreSQL-Datentypen | Data Movement Gateway-Datentypen |
---|---|
INTEGER |
INT4 |
SMALLINT |
INT2 |
BIGINT |
INT8 |
NUMERIC |
NUMERIC(28,6) |
NUMERIC(p,s) |
Wenn Genauigkeit =< 38, dann: NUMERIC(p,s) Wenn Genauigkeit => 39, dann: STRING |
DECIMAL |
NUMERIC(28,6) |
DECIMAL(p,s) |
Wenn Genauigkeit =< 38, dann: NUMERIC(p,s) Wenn Genauigkeit => 39, dann: STRING |
REAL |
REAL4 |
DOUBLE |
REAL8 |
SMALLSERIAL |
INT2 |
SERIAL |
INT4 |
BIGSERIAL |
INT8 |
MONEY |
NUMERIC(38,4) Informationshinweis
Der Datentyp MONEY ist in Microsoft SQL Server FLOAT zugeordnet. |
CHAR |
WSTRING (1) |
CHAR(n) |
WSTRING (n) |
VARCHAR(n) Informationshinweis
VARCHAR ohne eine Länge (n) wird von den Zielendpunkten nicht als gültiger Datentyp erkannt. Wenn daher ein Quellspalten-Datentyp ohne explizite Länge auf VARCHAR festgelegt wird, legt Data Movement Gateway eine Standardlänge von 8000 Byte fest. Sie können den Standardwert ändern, indem Sie die folgenden internen Parameter auf die erforderliche Länge festlegen: unboundedVarcharMaxSize Weitere Informationen zum Festlegen interner Parameter finden Sie unter PostgreSQL. |
WSTRING (n) |
TEXT |
NCLOB |
BYTEA |
BLOB |
TIMESTAMP |
DATETIME |
TIMESTAMP (z) |
DATETIME |
DATE InformationshinweisData Movement Gateway unterstützt nur ISO-formatierte DATE-Textformate (der Standard). Wenn andere Formate verwendet werden, wird ein Fehler generiert. Sie können das Datumsformat in der Datei postgresql.conf ändern oder die Umgebungsvariable PGDATESTYLE verwenden. Sie können auch das Datumsformat auf Datenbankebene ändern.
|
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 Informationshinweis
JSON-Daten werden mithilfe von breiten Strings (bei denen jedes Zeichen 2 Byte belegt) gelesen und geschrieben. Wenn daher JSON-Spalten an ein PostgreSQL-Ziel repliziert werden, legen Sie die begrenzte LOB-Größe auf das Doppelte der maximalen JSON-Länge fest. Wenn die JSON-Datengröße beispielsweise 4 KB beträgt, legen Sie den Wert für die begrenzte LOB-Größe auf 8 KB fest. |
NCLOB |
JSONB Informationshinweis
JSONB-Daten werden mithilfe von breiten Strings (bei denen jedes Zeichen 2 Byte belegt) gelesen und geschrieben. Wenn daher JSONB-Spalten an ein PostgreSQL-Ziel repliziert werden, legen Sie die begrenzte LOB-Größe auf das Doppelte der maximalen JSONB-Länge fest. Wenn die JSONB-Datengröße beispielsweise 4 KB beträgt, legen Sie den Wert für die begrenzte LOB-Größe auf 8 KB fest. |
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 |
Wenn die Länge angegeben ist: WSTRING (LENGTH) Wenn keine Länge angegeben ist: WSTRING (8000) |
TINTERVAL |
WSTRING(255) |