YugabyteDB continuous real-time replication using CDC
Yugabyte Reader uses the wal2json plugin to read change data. 1.x releases of wal2jon can not read transactions larger than 1 GB. If you have transactions that large, we recommend using a 2.x release of wal2json, which does not have that limitation. When you use a 2.x release, we recommend setting the Yugabyte Config property to automatically use format 2 for transactions larger than 1GB and format 1 for other transactions (see Yugabyte Reader properties).
Striim provides wizards for creating applications that read from YugabyteDB and write to various targets. See Creating an application using a wizard for details.
If not using an automatic pipeline wizard, before creating the continuous real-time replication application, see Switching from initial load to continuous replication of YugabyteDB sources.
Configuring YugabyteDB to use Yugabyte Reader
Striim reads change data from YugabyteDB.
Yugabyte Reader requires logical replication. For general information about logical replication, see YugabyteDB / Explore / Change data capture / PostgreSQL protocol / Key concepts / PostgreSQL logical replication concepts. To capture CDC changes, enter the following in a YugabyteDB client to create a replication slot:
SELECT pg_create_logical_replication_slot('SLOT_NAME', 'wal2json');Enter the following command to create a role (user) for use by Striim, replacing ****** with a strong password:
CREATE ROLE striim WITH LOGIN PASSWORD '******' REPLICATION;
Yugabyte setup for schema evolution
Using Schema evolution with Yugabyte Reader requires a tracking table in the source database. To create this table, run the following commands in a YugabyteDB client:
CREATE SCHEMA IF NOT EXISTS striim;
CREATE TABLE IF NOT EXISTS striim.ddlcapturetable
(
event TEXT,
tag TEXT,
classid OID,
objid OID,
objsubid INT,
object_type TEXT,
schema_name TEXT,
object_identity TEXT,
is_extension BOOL,
query TEXT,
username TEXT DEFAULT CURRENT_USER,
db_name TEXT DEFAULT Current_database(),
client_addr INET DEFAULT Inet_client_addr(),
creation_time TIMESTAMP DEFAULT now(),
id SERIAL PRIMARY KEY
);
GRANT USAGE ON SCHEMA striim TO PUBLIC;
GRANT SELECT, INSERT ON TABLE striim.ddlcapturetable TO PUBLIC;Yugabyte programmer's reference
Yugabyte Reader properties
Before you can use this adapter, Yugabyte must be configured as described in Configuring YugabyteDB to use Yugabyte Reader.
If this reader will be deployed to a Forwarding Agent, install the driver as described in Install the PostgreSQL JDBC driver in a Forwarding Agent.
Striim provides wizards for creating applications that read from YugabyteDB and write to various targets. See Creating an application using a wizard for details.
property | type | default value | notes |
|---|---|---|---|
Bidirectional Marker Table | String | Not supported in this release. | |
CDDL Action | enum | Process | Appears in Flow Designer only when CDDL Capture is True. See Handling schema evolution. |
CDDL Capture | Boolean | False | See Handling schema evolution. Do not use Find and Replace DDL unless instructed to by Striim support. |
CDDL Tracking Table | String | Appears in Flow Designer only when CDDL Capture is True. | |
Connection Retry Policy | String | retryInterval=30, maxRetries=3 | With the default setting, if a connection attempt is unsuccessful, the adapter will try again in 30 seconds ( |
Connection URL | String |
When connecting through an SSH tunnel (see Using an SSH tunnel to connect to a source or target), specify the IP address of the tunnel. Yugabyte Reader cannot read from a replica (standby) server since the replication slot is in the primary server. | |
Excluded Tables | String | Data for any tables specified here will not be returned. For example, if | |
Filter Transaction Boundaries | Boolean | True | With the default value of True, begin and commit transactions are filtered out. Set to False to include begin and commit transactions. |
Password | encrypted password | the password specified for the username (see Encrypted passwords) | |
Replication Slot Name | String | striim_slot | The name of the replication slot created as described in Configuring YugabyteDB to use Yugabyte Reader. If you have multiple instances of Yugabyte Reader, each must have its own slot. |
Start LSN | String | By default, only new transactions are read. Optionally, specify a log sequence number to start reading from that point. If you are using schema evolution (see Handling schema evolution, set a Start LSN only if you are sure that there have been no DDL changes after that point. | |
Tables | String | The table(s) for which to return change data. Tables must have primary keys or REPLICA IDENTITY set to FULL (required for logical replication). Names are case-sensitive. Specify source table names as Do not modify this property when CDDL Capture is True or recovery is enabled for the application. You may specify multiple tables as a list separated by semicolons or using the following wildcards in the schema and/or table names only (not in the database name):
For example, The All tables specified must have primary keys. Tables without primary keys are not included in output. Known issue DEV-27752: this adapter can not read partitioned tables. See wal2json issue #259. If any specified tables are missing Striim will issue a warning. If none of the specified tables exists, start will fail with a "found no tables" error. If you have multiple instances of Yugabyte Reader, each should read a separate set of tables. | |
Username | String | the login name for the user created as described in Configuring YugabyteDB to use Yugabyte Reader | |
Yugabyte Config | String | {"ReplicationPluginConfig": {"Name": "WAL2JSON", "Format": "1"}} | Change |
Target data type support & mapping for YugabyteDB sources
The table below details how Striim maps the data types of a YugabyteDB source to the data types of a target such as Azure Synapse, BigQuery, Databricks, and so on when you create an application using a wizard with Auto Schema Creation, perform an initial load using Database Reader with Create Schema enabled, or run the schema conversion utility, or when Striim schema evolution creates or alters target tables.
See Data Types for a list of supported data type aliases (such as decimal and varchar).
For fixed-length data types, Striim interprets the length parameter as one character = one byte, which can result in errors if the data uses multi-byte characters. To avoid this issue, manually increase the size of the data type in the target, or change the target data type to blob or clob.
If your screen is not wide enough to display the whole table, click in a cell and drag left to view the right-hand columns.
Yugabyte Data Type | Azure Synapse | BigQuery | Databricks | Db2 for z/OS | Fabric Mirror | Iceberg | MariaDB | Microsoft Fabric | MySQL | Oracle | PostgreSQL | Snowflake | Spanner | Spanner PG Dialect | SQL Server | Vertica | Yellowbrick |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BIGSERIAL | bigint | int64 | bigint | bigint | long | long | bigint | bigint | bigint | int | bigserial | integer | INT64 | int | bigint | integer | bigint |
BIT | BIT | bytes(p) | binary | binary(255) | bytes | binary | bit(p) | BIT | bit(p) | BLOB | bit | BINARY | STRING(p) | bytea | BIT | binary(p) | character varying(p) |
BIT(p) | varchar(p), if 1 <= (p) <= 8000 varchar(8000), if (p) > 8000* | bytes, if (p) > 9223372036854775807* bytes(p), if (p) <= 9223372036854775807 | binary | binary(255), if (p) <= 127 | bytes | binary | binary(255), if (p) > 64 bit(p), if (p) <= 64 | varchar(max), if (p) > 8000* varchar(p), if 1 <= (p) <= 8000 | binary(255), if (p) > 64 bit(p), if (p) <= 64 | BLOB | bit varying(p), if 1 <= (p) <= 2147483647 | BINARY, if (p) <= 8388608 BINARY, if (p) > 8388608* | STRING(p), if (p) <= 2621440 | bytea, if (p) <= 1048576 bytea, if (p) > 1048576* | varchar(max), if (p) > 8000* varchar(p), if 1 <= (p) <= 8000 | binary(p), if (p) <= 65000 | character varying(p), if (p) <= 64000 |
BOOL | BIT | boolean | boolean | Not supported | boolean | boolean | bool | BIT | bool | CHAR(5) | boolean | BOOLEAN | BOOL | boolean | BIT | boolean | boolean |
BOX | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
BPCHAR | character(p) | string | string | character(p) | string | char(p) | character(p) | varchar(p) | character(p) | character(p) | bpchar(p) | character(p) | STRING(p) | varchar(p) | character(p) | character(p) | bpchar(p) |
BPCHAR(p) | character(p), if (p) <= 8000 varchar(8000), if (p) > 8000* | string | string | character(p), if (p) <= 255 clob(p), if 255 <= (p) <= 2147483647 | string | string, if (p) > 2147483647 char(p), if (p) <= 2147483647 | character(p), if (p) <= 255 longtext, if 255 <= (p) <= 2147483647 | varchar(max), if (p) > 8000* varchar(p), if (p) <= 8000 | character(p), if (p) <= 255 longtext, if 255 <= (p) <= 2147483647 | clob, if (p) > 2000* character(p), if (p) <= 2000 | bpchar(p), if (p) <= 10485760 bpchar, if (p) > 10485760* | character(16777216), if (p) > 16777216* character(p), if (p) <= 16777216 | STRING(p), if (p) <= 2621440 | varchar(p), if (p) <= 1048576 text, if (p) > 1048576* | character(p), if (p) <= 8000 varchar(max), if (p) > 8000* | character(p), if (p) <= 65000 long varchar(p), if 65000 <= (p) <= 32000000* | bpchar(p), if (p) <= 64000 bpchar, if (p) > 64000* |
BYTEA | varbinary(8000) | bytes(p) | binary | blob(p) | bytes | binary | longblob | varbinary(max) | longblob | BLOB | bytea | BINARY | BYTES(MAX) | Not supported | varbinary(max) | Not supported | Not supported |
CIDR | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | cidr | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
CIRCLE | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | circle | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
DATE | date | date | date | date | date | date | date | date | date | date | date | date | DATE | date | date | date | date |
DATERANGE | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
FLOAT4 | float(p) | float64 | float | double | float | float | float(p) | float(p) | float(p) | float(p) | real | float | FLOAT64 | float4 | float(p) | float(p) | real |
FLOAT8 | float(p) | float64 | float | double | double | double | float(p) | float(p) | float(p) | float(p) | real | float | FLOAT64 | float4 | float(p) | float(p) | real |
INET | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | inet | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
INT2 | smallint | int64 | smallint | smallint | int | short | smallint | smallint | smallint | int | smallint | integer | INT64 | int | smallint | integer | smallint |
INT4 | integer | int64 | integer | integer | int | integer | integer | int | integer | int | integer | integer | INT64 | int | integer | integer | integer |
INT4RANGE | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
INT8 | bigint | int64 | bigint | bigint | long | long | bigint | bigint | bigint | int | bigint | integer | INT64 | int | bigint | integer | bigint |
INT8RANGE | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
INTERVAL | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | interval | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
INTERVAL(p) | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | interval, if (p) <= 49, if (s) <= 6 | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
JSON | varchar(8000) | string | string | clob | string | string | json | varchar(max) | json | clob | json | VARIANT | STRING(MAX) | jsonb | varchar(max) | long varchar(10000000) | character varying |
JSONB | varchar(8000) | string | string | clob | string | string | json | varchar(max) | json | clob | jsonb | VARIANT | STRING(MAX) | jsonb | varchar(max) | long varchar(10000000) | character varying |
LINE | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | line | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
LSEG | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | lseg | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
MACADDR | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | macaddr | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | macaddr |
MONEY | numeric(38) | string | string | varchar(150) | string | string | varchar(150) | decimal(38,4) | varchar(150) | VARCHAR2(150) | numeric | varchar(150) | STRING(150) | varchar(150) | numeric(38) | varchar(10000) | character varying(150) |
NUMERIC | numeric(38) | bignumeric | decimal(38) | numeric(31) | string | decimal | decimal(65) | decimal(38) | decimal(65) | number | numeric | numeric | NUMERIC | numeric | numeric(38) | numeric | decimal |
NUMERIC(p,0) | numeric(p,s), if (p) <= 38, if (s) <= 38 | numeric, if (p) <= 29, if (s) <= 9 | decimal(p,s), if (p) <= 38, if (s) <= 37 | numeric(p,s), if (p) <= 31, if (s) <= 30 | decimal, if (p) <= 38 | decimal(p,s), if (p) <= 38, if (s) <= 38 | decimal(p,s), if (p) <= 65, if (s) <= 30 | decimal(p,s), if (p) <= 38, if (s) <= 38 | decimal(p,s), if (p) <= 65, if (s) <= 30 | number(p,s), if (p) <= 38, if (s) <= 127 | numeric(p,s), if (p) <= 1000, if (s) <= 1000 | numeric(p,s), if (p) <= 38, if (s) <= 37 | NUMERIC, if (p) <= 38, if (s) <= 9 | numeric, if (p) <= 131072, if (s) <= 16384 | numeric(p,s), if (p) <= 38, if (s) <= 38 | numeric(p,s), if (p) <= 1024, if (s) <= 1024 | decimal(p,s), if (p) <= 38, if (s) <= 38 |
NUMERIC(p,s) | varchar(8000), if (p,s) > 38, if (s) > 38* numeric(p,s), if (p) <= 38, if (s) <= 38 | string, if (p,s) > 39, if (s) > 38* numeric, if (p) <= 29, if (s) <= 9 bignumeric, if 29 <= (p) <= 39, if 9 <= (s) <= 38 | string, if (p,s) > 38, if (s) > 37* decimal(p,s), if (p) <= 38, if (s) <= 37 | numeric(p,s), if (p) <= 31, if (s) <= 30 varchar(1000), if (p,s) > 31, if (s) > 30* | string, if (p,s) > 38* decimal, if (p) <= 38 | decimal(p,s), if (p) <= 38, if (s) <= 38 string, if (p,s) > 38, if (s) > 38* | decimal(p,s), if (p) <= 65, if (s) <= 30 TEXT, if (p,s) > 65, if (s) > 30* | varchar(max), if (p,s) > 38, if (s) > 38* decimal(p,s), if (p) <= 38, if (s) <= 38 | decimal(p,s), if (p) <= 65, if (s) <= 30 TEXT, if (p,s) > 65, if (s) > 30* | number, if (p,s) > 38, if (s) > 127* number(p,s), if (p) <= 38, if (s) <= 127 | double precision, if (s) > 1000 double precision, if (p,s) > 1000 numeric(p,s), if (p) <= 1000, if (s) <= 1000 | numeric(p,s), if (p) <= 38, if (s) <= 37 VARCHAR, if (p,s) > 38, if (s) > 37* | NUMERIC, if (p) <= 38, if (s) <= 9 STRING(MAX), if (p,s) > 308, if (s) > 15* | numeric, if (p) <= 131072, if (s) <= 16384 | varchar(8000), if (p,s) > 38, if (s) > 38* numeric(p,s), if (p) <= 38, if (s) <= 38 | numeric(p,s), if (p) <= 1024, if (s) <= 1024 | character varying, if (p,s) > 38, if (s) > 38* decimal(p,s), if (p) <= 38, if (s) <= 38 |
NUMRANGE | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
PATH | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | path | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
POINT | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
POLYGON | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
SERIAL | integer | int64 | bigint | integer | int | integer | integer | int | integer | int | serial | integer | INT64 | int | integer | integer | integer |
SMALLSERIAL | smallint | int64 | bigint | smallint | int | short | smallint | smallint | smallint | int | smallserial | integer | INT64 | int | smallint | integer | smallint |
TEXT | varchar(8000) | string | string | clob(p) | string | string | LONGTEXT | varchar(max) | LONGTEXT | clob | text | VARCHAR | STRING(MAX) | Not supported | varchar(max) | Not supported | character varying |
TIME | time | time | string | time | time-millis | string | time(s) | time(6) | time(s) | VARCHAR2(150) | time(s) | time | STRING(150) | varchar(150) | time | time(s) | time |
TIME(p) | time | string, if (s) > 6* time, if (s) <= 6 | string | time | time-millis | string | varchar(150), if (s) > 6* time(s), if (s) <= 6 | time(6), if (s) <= 6 varchar(150), if (s) > 6* | varchar(150), if (s) > 6* time(s), if (s) <= 6 | VARCHAR2(150) | time(s), if (p) <= 15, if (s) <= 6 time, if (p) > 15* time, if (s) > 6* | time | STRING(150) | varchar(150) | time | time(s), if (p) <= 15, if (s) <= 6 time, if (p) > 15* time, if (s) > 6* | time |
TIMESTAMP | datetime2 | timestamp | timestamp | timestamp | timestamp-millis | timestamp_ntz | datetime(s) | datetime2(6) | datetime(s) | timestamp(s) | timestamp(s) without time zone | timestamp | TIMESTAMP | timestamptz | datetime2 | timestamp(s) | timestamp |
TIMESTAMP(p) | datetime2 | timestamp, if (s) <= 6 timestamp, if (s) > 6* | timestamp | timestamp | timestamp-millis | timestamp_ntz | varchar(34), if (s) > 6* datetime(s), if (s) <= 6 | varchar(150), if (s) > 6* datetime2(6), if (s) <= 6 | varchar(34), if (s) > 6* datetime(s), if (s) <= 6 | timestamp(s), if (s) <= 9 timestamp, if (s) > 9* | timestamp without time zone, if (s) > 6* timestamp without time zone, if 29 <= (p) <= 29* timestamp(s) without time zone, if (p) <= 29, if (s) <= 6 | timestamp | TIMESTAMP | timestamptz, if 36 <= (p) <= 36* timestamptz, if (s) > 6* timestamptz, if (p) <= 36, if (s) <= 6 | datetime2 | timestamp, if (s) > 6* timestamp, if (p) > 29* timestamp(s), if (p) <= 29, if (s) <= 6 | timestamp |
TIMESTAMPTZ | datetimeoffset | timestamp | timestamp | timestamp with time zone | string | timestamp | timestamp | datetime2(6) | timestamp | timestamp with time zone | timestamp(s) with time zone | timestamp with time zone | TIMESTAMP | timestamptz | datetimeoffset | timestamp(s) with time zone | timestamptz |
TIMESTAMPTZ(p) | datetimeoffset | timestamp, if (s) <= 6 timestamp, if (s) > 6* | timestamp | timestamp with time zone | string | timestamp | timestamp | varchar(150), if (s) > 6* datetime2(6), if (s) <= 6 | timestamp | timestamp with time zone | timestamp(s) with time zone, if (p) <= 35, if (s) <= 6 timestamp with time zone, if (s) > 6* timestamp with time zone, if 35 <= (p) <= 35* | timestamp with time zone | TIMESTAMP | timestamptz, if 36 <= (p) <= 36* timestamptz, if (s) > 6* timestamptz, if (p) <= 36, if (s) <= 6 | datetimeoffset | timestamp(s) with time zone, if (p) <= 35, if (s) <= 6 timestamp with time zone, if (s) > 6* timestamp with time zone, if (p) > 35* | timestamptz |
TIMETZ | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | time(s) with time zone | VARCHAR(150) | STRING(150) | varchar(150) | varchar(150) | time(s) with time zone | character varying(150) |
TIMETZ(p) | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | time(s) with time zone, if (p) <= 21, if (s) <= 6 | VARCHAR(150) | STRING(150) | varchar(150) | varchar(150) | time with time zone, if (s) > 6* time with time zone, if (p) > 21* time(s) with time zone, if (p) <= 21, if (s) <= 6 | character varying(150) |
TSQUERY | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
TSRANGE | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
TSTZRANGE | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
TSVECTOR | varchar(8000) | string | string | varchar(250) | string | string | text | varchar(max) | text | VARCHAR2(200) | character varying | VARCHAR | STRING(MAX) | text | varchar(8000) | varchar | character varying |
TXID_SNAPSHOT | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | txid_snapshot | varchar(150) | STRING(150) | varchar(150) | varchar(150) | varchar(150) | character varying(150) |
UUID | varchar(150) | string | string | varchar(150) | string | string | varchar(150) | varchar(150) | varchar(150) | VARCHAR2(150) | uuid | varchar(150) | STRING(150) | varchar(150) | varchar(150) | Not supported | Not supported |
VARBIT | varbinary(8000) | bytes(p) | binary | blob | bytes | binary | binary(255) | varbinary(max) | binary(255) | BLOB | varbit | BINARY | BYTES(MAX) | bytea | varbinary(max) | Not supported | Not supported |
VARBIT(p) | varbinary(8000), if (p) > 8000* varbinary(p), if (p) <= 8000 | bytes, if (p) > 9223372036854775807* bytes(p), if (p) <= 9223372036854775807 | binary | blob, if (p) > 1011* varbinary(4046), if (p) <= 1011 | bytes | binary | bit(64), if (p) <= 64 binary(255), if (p) > 64 | varbinary(p), if (p) <= 8000 varbinary(max), if (p) > 8000* | bit(64), if (p) <= 64 binary(255), if (p) > 64 | BLOB | varbit, if (p) > 83886080* varbit(p), if (p) <= 83886080 | BINARY, if (p) <= 8388608 BINARY, if (p) > 8388608* | BYTES(MAX), if (p) > 10485760* BYTES(p), if (p) <= 10485760 | bytea, if (p) <= 1048576 bytea, if (p) > 1048576 | varbinary(p), if (p) <= 8000 varbinary(max), if (p) > 8000* | varbinary(p), if (p) <= 65000 long varbinary(p), if 65000 <= (p) <= 32000000* | character varying(p), if (p) <= 64000 |
VARCHAR | varchar(p) varchar(8000) | string | string | clob(p) varchar(p) | string | varchar(p) | longtext varchar(p) | varchar(p) varchar(max) | longtext varchar(p) | clob VARCHAR2(p) | character varying(p) | VARCHAR(p) | STRING(p) STRING(MAX) | text varchar(p) | varchar(p) varchar(max) | varchar(p) | character varying(p) |
VARCHAR(p) | varchar(p), if (p) <= 8000 varchar(8000), if (p) > 8000* | string | string | varchar(p), if (p) <= 4045 clob(p), if 4045 <= (p) <= 2147483647 | string | string, if (p) > 2147483647 varchar(p), if (p) <= 2147483647 | varchar(p), if (p) <= 65535 longtext, if 65535 <= (p) <= 2147483647* | varchar(max), if (p) > 8000* varchar(p), if (p) <= 8000 | varchar(p), if (p) <= 65535 longtext, if 65535 <= (p) <= 2147483647* | clob, if (p) > 4000* VARCHAR2(p), if (p) <= 4000 | character varying(p), if (p) <= 10485760 character varying, if (p) > 10485760* | VARCHAR, if (p) > 16777216* VARCHAR(p), if (p) <= 16777216 | STRING(MAX), if (p) > 2621440 STRING(p), if (p) <= 2621440 | varchar(p), if (p) <= 1048576 text, if (p) > 1048576* | varchar(max), if (p) > 8000* varchar(p), if (p) <= 8000 | varchar(p), if (p) <= 65000 long varchar(p), if 65000 <= (p) <= 32000000* | character varying, if (p) > 64000* character varying(p), if (p) <= 64000 |
XML | varchar(8000) | string | string | xml | string | string | LONGTEXT | varchar(max) | LONGTEXT | xmltype | xml | varchar | STRING(MAX) | varchar(p) | xml | long varchar(10000000) | character varying |
*When using the schema conversion utility, these mappings appear in converted_tables_with_striim_intelligence.sql.