Use the Turbopuffer sink to continuously write data from a RisingWave table or materialized view into a Turbopuffer namespace.
Prerequisites
- Ensure your Turbopuffer endpoint is reachable from RisingWave.
- Enable sink decoupling before creating the sink:
Syntax
Parameters
write_batch_size and max_linger_second must both be greater than 0.
Notes
- Turbopuffer sinks can only be created with
sink_decouple enabled.
- Provide either
namespace or namespace_column, but not both.
- The primary key column is written as the Turbopuffer document ID and is not included as a document attribute.
- If you use
namespace_column, that column is used only for routing and is not included as a document attribute.
- No non-key attribute column can be named
id.
Data type mapping
timestamp values are encoded as ISO 8601 strings without a timezone suffix. timestamptz values are encoded as UTC strings with a Z suffix.
Examples
Create an upsert sink that writes vectors into a fixed namespace:
Use a column to route rows to different namespaces:
Update the batching controls for an existing sink without recreating it: