cockroach-sink demo in the integration_test directory of the RisingWave repository.
Prerequisites
- Ensure you already have a CockroachDB table that you can access and sink data to. For additional guidance on setting up CockroachDB, refer to this quick start guide.
- Ensure you have an upstream materialized view or source that you can sink data from.
- If you are running RisingWave locally from binaries and intend to use the native CDC source connectors or the JDBC sink connector, make sure you have JDK 11 or a later version installed in your environment.
Syntax and Parameters
Since CockroachDB is PostgreSQL-compatible, the syntax and parameters are the same as creating a PostgreSQL sink. For the syntax and parameters, see Create a sink.Examples
Assume that we have a materialized view,mv1, and we want to sink data from mv1 to a table in CockroachDB called target_count. The following SQL query achieves this by creating a sink in RisingWave called sink1.
Data type mapping
| RisingWave Data Type | CockroachDB Data Type |
|---|---|
| boolean | BOOL |
| smallint | INT2 |
| integer | INT4 |
| bigint | INT |
| numeric | DECIMAL |
| real | REAL |
| double precision | DOUBLE PRECISION |
| varchar | STRING |
| bytea | BYTES |
| date | DATE |
| time without time zone | TIME |
| timestamp without time zone | TIMESTAMP |
| timestamp with time zone | TIMESTAMPTZ |
| interval | INTERVAL |
| JSONB | JSONB |
| array | ARRAY |
| struct | Unsupported |
smallint, integer, bigint, real, double precision, and varchar type now.