PostgreSQL source data types
The following table shows the PostgreSQL target data types that are supported when using Qlik Replicate and the default mapping to the Qlik Replicate data types.
When replicating from one PostgreSQL database to another, source and target data types are identical for all supported PostgreSQL versions, except for the data types listed in Data type considerations and exceptions
For additional information about Qlik Replicate data types, see Replicate data types.
PostgreSQL Data Types | Qlik Replicate Data Types |
---|---|
INTEGER |
INT4 |
SMALLINT |
INT2 |
BIGINT |
INT8 |
NUMERIC |
NUMERIC(28,6) |
NUMERIC(p,s) |
If precision is =< 38, then: NUMERIC(p,s) If precision is => 39, then: STRING |
DECIMAL |
NUMERIC(28,6) |
DECIMAL(p,s) |
If precision is =< 38, then: NUMERIC(p,s) If precision is => 39, then: STRING |
REAL |
REAL4 |
DOUBLE |
REAL8 |
SMALLSERIAL |
INT2 |
SERIAL |
INT4 |
BIGSERIAL |
INT8 |
MONEY |
NUMERIC(38,4) Information note
The MONEY data type is mapped to FLOAT in Microsoft SQL Server. |
CHAR |
WSTRING (1) |
CHAR(n) |
WSTRING (n) |
VARCHAR(n) Information note
VARCHAR without a length (n) is not recognized as a valid data type by target endpoints. Consequently, if a source column data type is set to VARCHAR without an explicit length, Replicate will set a default length of 8000 bytes. You can change the default by setting the following internal parameter to the required length: unboundedVarcharMaxSize See also Internal Parameters. |
WSTRING (n) |
TEXT |
NCLOB |
BYTEA |
BLOB |
TIMESTAMP |
DATETIME |
TIMESTAMP (z) |
DATETIME |
DATE Information noteReplicate only supports ISO formatted textual DATE formats (the default). If other formats are used, an error will be generated. You can change the date format in the postgresql.conf file or using the PGDATESTYLE environment variable. You can also change the date format at database level.
|
DATE |
TIME |
TIME |
TIME (z) |
TIME |
INTERVAL |
STRING (128) - 1 YEAR, 2 MONTHS, 3 DAYS, 4 HOURS, 5 MINUTES, 6 SECONDS |
BOOLEAN |
STRING (5) TRUE|FALSE |
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 Information note
Reading and writing JSON data is performed using wide string (where each character occupies 2 bytes). Therefore, when replicating JSON columns to a PostgreSQL target, set the limited lob size to twice the maximum JSON length. So, for example, if the JSON data is 4 KB, set the limited lob size value to 8 KB. |
NCLOB |
JSONB Information note
Reading and writing JSONB data is performed using wide string (where each character occupies 2 bytes). Therefore, when replicating JSONB columns to a PostgreSQL target, set the limited lob size to twice the maximum JSONB length. So, for example, if the JSONB data is 4 KB, set the limited lob size value to 8 KB. |
NCLOB |
ARRAY |
NCLOB |
COMPOSITE |
NCLOB |
INT4RANGE | STRING (255) |
INT8RANGE | STRING (255) |
NUMRANGE | STRING (255) |
TSRANGE | STRING (255) |
CHARACTER VARYING |
If length is specified: WSTRING (LENGTH) If no length is specified: WSTRING (8000) |
TINTERVAL |
WSTRING(255) |
Unsupported data types
The following data types are not supported:
-
PostGIS
-
INT4MULTIRANGE
-
INT8MULTIRANGE
-
NUMMULTIRANGE
-
TSMULTIRANGE