Types de données pris en charge
Le tableau suivant indique les types de données sources PostgreSQL pris en charge et leur mappage par défaut vers les types de données Data Movement gateway.
Lors de la réplication vers une cible basée sur PostgreSQL, les types de données sources et cibles sont les mêmes, hormis les exceptions décrites à la section Réplication homogène.
Pour savoir comment voir le type de données mappé dans la cible, voir la section sur le connecteur cible utilisé.
Types de données PostgreSQL | Types de données Data Movement gateway |
---|---|
INTEGER |
INT4 |
SMALLINT |
INT2 |
BIGINT |
INT8 |
NUMERIC |
NUMERIC(28,6) |
NUMERIC(p,s) |
Si précision est =< 38 : NUMERIC(p,s) Si précision est => 39 : STRING |
DECIMAL |
NUMERIC(28,6) |
DECIMAL(p,s) |
Si précision est =< 38 : NUMERIC(p,s) Si précision est => 39 : STRING |
REAL |
REAL4 |
DOUBLE |
REAL8 |
SMALLSERIAL |
INT2 |
SERIAL |
INT4 |
BIGSERIAL |
INT8 |
MONEY |
NUMERIC(38,4) Note Informations
Le type de données MONEY est mappé vers FLOAT dans Microsoft SQL Server. |
CHAR |
WSTRING (1) |
CHAR(n) |
WSTRING (n) |
VARCHAR(n) Note Informations
Le type de données VARCHAR sans longueur (n) n'est pas reconnu comme un type de données valide par les points de terminaison cibles. Par conséquent, si le type de données d'une colonne source est défini sur VARCHAR sans longueur explicite, Data Movement gateway définira une longueur par défaut égale à 8 000 octets. Vous pouvez modifier la valeur par défaut en définissant le paramètre interne suivant sur la longueur requise : unboundedVarcharMaxSize Pour des informations sur la définition de paramètres internes, voir PostgreSQL. |
WSTRING (n) |
TEXT |
NCLOB |
BYTEA |
BLOB |
TIMESTAMP |
DATETIME |
TIMESTAMP (z) |
DATETIME |
DATE Note InformationsData Movement gateway prend uniquement en charge les formats DATE textuels ISO (par défaut). Si d'autres formats sont utilisés, une erreur sera générée. Vous pouvez modifier le format de date dans le fichier postgresql.conf ou via la variable d'environnement PGDATESTYLE. Vous pouvez également modifier le format de date au niveau de la base de données.
|
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 Note Informations
La lecture et l'écriture de données JSON sont effectuées via une chaîne large (dans laquelle chaque caractère occupe 2 octets). Par conséquent, lors de la réplication de colonnes JSON dans une cible PostgreSQL, définissez la taille de LOB limitée sur le double de la longueur JSON maximale. Par exemple, si les données JSON font 4 Ko, définissez la valeur de la taille de LOB limitée sur 8 Ko. |
NCLOB |
JSONB Note Informations
La lecture et l'écriture de données JSONB sont effectuées via une chaîne large (dans laquelle chaque caractère occupe 2 octets). Par conséquent, lors de la réplication de colonnes JSONB dans une cible PostgreSQL, définissez la taille de LOB limitée sur le double de la longueur JSONB maximale. Par exemple, si les données JSONB font 4 Ko, définissez la valeur de la taille de LOB limitée sur 8 Ko. |
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 |
Si la longueur est spécifiée : WSTRING (LENGTH) Si aucune longueur n'est spécifiée : WSTRING (8000) |
TINTERVAL |
WSTRING(255) |