Supported Data Types
ReadySet takes an initial snapshot of tables from the upstream MySQL or Postgres database and then uses the database's replication stream to keep the snapshot up-to-date as the tables change.
To successfully snapshot and replicate a table, ReadySet must support the data types of the columns, the character set in which the data is encoded, and changes to the table via writes and schema changes.
Numeric types
Type | Supported | Notes |
---|---|---|
INT SMALLINT BIGINT (opens in a new tab) | ✔️ | ReadySet ignores the optional length field. |
DECIMAL NUMERIC (opens in a new tab) | ✔️ | ReadySet does not support DECIMAL /NUMERIC values with a scale greater than 28, i.e., with more than 28 digits to the right of the decimal point. |
FLOAT DOUBLE PRECISION REAL (opens in a new tab) | ✔️ | |
SERIAL SMALLSERIAL BIGSERIAL (opens in a new tab) | ✔️ |
Monetary types
Type | Supported | Notes |
---|---|---|
MONEY (opens in a new tab) | ✖️ |
Character types
Type | Supported | Notes |
---|---|---|
CHAR VARCHAR TEXT (opens in a new tab) | ✔️ | |
"CHAR" (opens in a new tab) | ✔️ | |
CITEXT (opens in a new tab) | ✔️ |
Binary types
Type | Supported | Notes |
---|---|---|
BYTEA (opens in a new tab) | ✔️ |
Date and time types
Type | Supported | Notes |
---|---|---|
DATE TIME TIMETZ TIMESTAMP TIMESTAMPTZ (opens in a new tab) | ✔️ | |
INTERVAL (opens in a new tab) | ✖️ |
Boolean typess
Type | Supported | Notes |
---|---|---|
BOOLEAN (opens in a new tab) | ✔️ |
Enumerated types
Type | Supported | Notes |
---|---|---|
ENUM (opens in a new tab) | ✔️ |
Geometric types
Type | Supported | Notes |
---|---|---|
POINT LINE LSEG BOX PATH POLYGON CIRCLE (opens in a new tab) | ✖️ |
Network address typess
Type | Supported | Notes |
---|---|---|
INET (opens in a new tab) | ✔️ | ReadySet represents this type internally as normalized string. |
CIDR (opens in a new tab) | ✖️ | |
MACADDR (opens in a new tab) | ✔️ | ReadySet represents this type internally as a normalized string. This can cause different behavior than in Postgres with respect to expressions or sorting. |
MACADDR8 (opens in a new tab) | ✖️ |
Bit string types
Type | Supported | Notes |
---|---|---|
BITBIT VARYING (opens in a new tab) | ✔️ | ReadySet ignores the optional length field. |
Text search types
Type | Supported | Notes |
---|---|---|
tsvector (opens in a new tab) | ✖️ | |
tsquery (opens in a new tab) | ✖️ |
UUID types
Type | Supported | Notes |
---|---|---|
UUID (opens in a new tab) | ✔️ | ReadySet represents this type internally as a normalized string. This can cause different behavior than in Postgres with respect to expressions or sorting. |
XML types
Type | Supported | Notes |
---|---|---|
XML (opens in a new tab) | ✖️ |
JSON types
Type | Supported | Notes |
---|---|---|
JSON JSONB (opens in a new tab) | ✔️ | ReadySet represents this type internally as a normalized string. This can cause different behavior than in Postgres with respect to expressions or sorting. |
Array types
Type | Supported | Notes |
---|---|---|
ARRAY (opens in a new tab) | ✔️ |
Composite data types
Type | Supported | Notes |
---|---|---|
CREATE TYPE <name> AS (opens in a new tab) | ✖️ |
Range types
Type | Supported | Notes |
---|---|---|
INT4RANGE INT8RANGE NUMRANGE TSRANGE TSTZRANGE DATERANGE (opens in a new tab) | ✖️ |
Domain types
Type | Supported | Notes |
---|---|---|
CREATE TABLE <table> (col <domain>) (opens in a new tab) | ✖️ |
Object identifier types
Type | Supported | Notes |
---|---|---|
OID REGCLASS REGCOLLATION REGCONFIG REGDICTIONARY REGNAMESPACE REGOPER REGOPERATOR REGPROC REGPROCEDURE REGROLE REGTYPE (opens in a new tab) | ✖️ |