Skip to main content
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: