This page summarizes changes in each version of RisingWave, including new features and important bug fixes.
EXPLAIN ANALYZE
command to analyze the actual runtime performance of a streaming job. #20715, #20966streaming_parallelism
settings for tables, indexes, materialized views, sinks, and sources. #21366DESCRIBE FRAGMENTS
command to check the execution fragments of an existing job. #21354GRANT
and REVOKE
privileges on connection, function and secret. #20755ALTER SYSTEM
now applies session variable changes immediately to the current session. #21294icelake
dependency. #20844commit_retry_num
option to configure the number of commit retries on Iceberg failures. #20433per_database_isolation
to enable per-database failure isolation. #20872streaming_enable_materialized_expressions
to enable materialized expressions. #21552streaming_force_filter_inside_join
to force filter to be pushed down into inner join. #21289docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.4.0 standalone
resource_group
for CREATE DATABASE
command. #20751CREATE TABLE
command supports partially specifying the schema instead of using *
to ingest all columns. #20203DROP SCHEMA
command supports the CASCADE
option to drop the specified schema and all its dependencies. #19702SET DATABASE TO
or USE
. #19786SET PARALLELISM
clause for ALTER SOURCE
command. #20606IF NOT EXISTS
option for CREATE FUNCTION
/CREATE AGGREGATE
. #20079GRANT
or REVOKE
privileges on view. #20670first_value
and last_value
window functions. #19874partition_by
to enable partitioning using column names or transformations for Iceberg sinks. #20495jdbc.auto.commit
for JDBC sinks to automatically commit transactions. #20597snowflake
catalog for Iceberg source. #20421aws.msk.signer_timeout_sec
to set timeout limit for loading AWS credentials of AWS MSK. #20610jdbc.query.timeout
for JDBC sinks is reduced from 600s to 60s. #20641Paid
tier and CPU limit of 4 is set by default to allow the free trial of paid features on a small scale. #20296rw_license()
to retrieve the license information. #20629sink_rate_limit
. #19660docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.3.0 standalone
EXPLAIN FORMAT JSON
. #19041EXPLAIN FORMAT (XML | YAML)
. #19400ALTER...SWAP WITH...
syntax for tables, materialized views, views, sources, sinks, and subscriptions. #19172ALTER SECRET
. #19495mysql_query
table-valued function. #19071stream_switch_jdbc_pg_to_native
to switch from connector='jdbc'
to connector='postgres'
for JDBC Postgres sinks. #19703Ref
for Avro encoding, except for circular dependency. #19601, #19701, #19746messages_as_jsonb
for source’s Protobuf encoding when creating a source or table. #19935_rw_timestamp
system column for tables. #19232catalog.credential
, catalog.scope
, catalog.oauth2_server_uri
, or catalog.token
. #19406commit_checkpoint_interval
when creating Iceberg engine tables. The default value is 60
. #19738INCLUDE partition
when creating MQTT sources to include which topic each message is from. #19017INCLUDE subject
when creating NATS sources. #19708bigquery.credentials
. #19798batch_expr_strict_mode
to control if the query fails or fills the table with NULL
values during expression evaluation failures. #19562backfill_rate_limit
to configure source backfill. #19445dml_rate_limit
. #19679docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.2.0-standalone single_node
ASOF JOIN
to join and find the closest matching record by the event time or another ordered property. #18683AGGREGATE:
prefixed scalar function in streaming aggregation. #18205SHOW SUBSCRIPTION CURSORS
and SHOW CURSORS
commands. #18896postgres_query
. #18811scan.startup.mode=latest
for NATS source connector to start consuming from next available message instead of last one. #18733streaming_use_shared_source
. #18749INCLUDE payload
clause. #18437consumer.durable_name
, for NATS source connector. #18873max_packet_size
for MQTT sources. #18520database.encrypt
for SQL Server CDC sources. #18912auto.schema.change
for PostgreSQL CDC sources to enable replicating Postgres table schema change. #18760JSON
encode for file sinks, allowing users to sink JSON files into object storage. #18744create_table_if_not_exists
option for Iceberg sink connector. #18362bulk_write_max_entries
for MongoDB sink and option default_max_batch_rows
for DynamoDB sink. Adds options max_batch_item_nums
and max_future_send_nums
for DynamoDB sink. #17645routing_column
for ElasticSearch sinks, allowing a column to be set as a routing key. #18698--license-key-path
for the meta node, enabling a background task to watch and reload license key from the specified file. #18768visibility_mode
is set to all
, the latest uncommitted data will be queried, but consistency is no longer guaranteed between the tables. #18230SET TIME ZONE INTERVAL '+00:00' HOUR TO MINUTE
as equivalent to SET TIME ZONE UTC
. #18705docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.1.0-standalone single_node
DECLARE cursor_name SUBSCRIPTION CURSOR
is the same as DECLARE cursor_name SUBSCRIPTION CURSOR since now()
, which will be consumed from the current time. DECLARE cursor_name SUBSCRIPTION CURSOR FULL
will start consuming data from stock. The type of operation has changed to varchar
. It is one of Insert
, Delete
, UpdateInset
, or UpdateDelete
. #18217SHOW CURSORS
will return all query cursors in the current session. SHOW SUBSCRIPTION CURSORS
will return all subscription cursors and subscriptions in the current session. #18217ALTER TABLE
on tables with generated columns. #17652approx_percentile()
. #17814, #17873.map
type and related functions for map
, and ingesting AVRO MAP
type into RisingWave map
type. #17986pg_index_column_has_property()
to query index column properties. #17275acosd()
. #9876rw_recovery_status()
and pg_is_in_recovery()
to retrieve the meta node status. #17641parquet
for file source. #17201aws.glue.schema_arn
parameter. #17605format upsert encode protobuf
. #17624refresh.interval.sec
option for S3, GCS, and POSIX sources. #18184group.id.prefix
for Kafka sources. #18115backfill_rate_limit
of CDC tables. #17989KEY ENCODE TEXT
. #18024jsonb.handling.mode
under WITH
options for sinks in JSON format. #17693jdbc.query.timeout
for JDBC sinks to set the timeout for queries. #18430retry_on_conflict
, batch_size_kb
, batch_num_messages
, and concurrent_requests
for ElasticSearch sink. #17867bigquery.retry_times
for BigQuery sink. #17237bigquery.auto_create_table
for BigQuery sink. #17393doris.partial_columns
for Doris sink. #16821streaming_rate_limit
into source_rate_limit
and backfill_rate_limit
. #17796batch.developer.exchange_connection_pool_size
and streaming.developer.exchange_connection_pool_size
to configure streaming and batch remote exchange between two nodes. #17768license_key
used to enable enterprise features. #17396docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v2.0.0-standalone single_node
rw_catalog.actor_id_to_ddl
and rw_catalog.fragment_id_to_ddl
. #17229."default": "NaN"
and positive and negative infinities, are supported as float
and double
types. #17309.AVRO MAP
types as JSONB
. #16948.avro uuid
types as varchar
. #17069.avro
with internal Ref
types. #17052.aws
prefix to AWS related parameters when creating a source or sink. #16671.pubsub.parallelism
under the WITH
option for Google PubSub source. #16733.INCLUDE TIMESTAMP [AS]
clause for MySQL, PostgreSQL, and MongoDB CDC tables.#16833.KEY ENCODE
clause when creating a sink. #16377.FORMAT PLAIN ENCODE AVRO
for Kafka sinks. #17216.GRANT
and REVOKE
privileges on views. #16699.docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.10.0 single_node
DISCARD ALL
command for Npgsql compatibility. #16432.RECOVER
command to trigger an ad-hoc recovery. #16259.jsonb_populate_record()
and jsonb_populate_recordset()
. #13421.s3
connector. #16337.properties.request.required.acks
. #16482.ssl.mode
for PostgreSQL and Neon source connector. #15690.ssl.mode
for MySQL source connector. #16579.snapshot.interval
and snapshot.batch_size
under WITH
options when creating a table from a CDC source. #16426.numeric
types from PostgreSQL sources into rw_int256
or varchar
. #16346.timestamptz.handling.mode
formatting option when creating a source with PLAIN
, UPSERT
, or DEBEZIUM JSON
formats. #16265.upsert
type BigQuery sinks. #15780.ALTER SYSTEM
to set a system-wide default value for a session parameter. #16062.streaming_rate_limit=0
, which now means pausing the snapshot read stream for backfill, and pausing source read for sources. This statement previously disabled the rate limit within the session. #16333.RW_RESERVED_MEMORY_BYTES
runtime parameter and reserved-memory-bytes
startup option. #16433.-inf
, +inf
, and nan
types to null
for JDBC sinks. #16230.-inf
, +inf
, and nan
types for ClickHouse, Doris, and StarRocks sink connectors. #15664.DELETE
events could not be sinked if the primary key is uuid
type for JDBC sinks.#16447.enum
types from PostgreSQL could not be ingested as varchar
types. #16423.encode avro
on decimal ingesting. #16202.encode avro
on bytes/fixed/decimal default value. #16414.docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.9.1-standalone single_node
RANGE
frames in window function calls. #14416.pg_catalog.pg_index
, rw_catalog.rw_columns
and information_schema.columns
, and system view pg_catalog.pg_partitioned_table
. #15151.pg_catalog.pg_constraint
for DBeaver compatibility. #15227.pg_catalog.pg_stat_get_numscans
for DBeaver. #15642.rw_depend
. #15385.pg_settings
catalog. #15108.decouple
enabled may cause compatibility issues. Check if you have any sinks with this configuration by using the internal table rw_sink_decouple
before upgrading to v1.8. #15613.FORMAT PLAIN ENCODE PROTOBUF
. #15546.enable.ssl.certificate.verification
. #15073.max_batch_rows
and request_timeout
parameters for Cassandra and ScyllaDB sources. #15516.ignore_option
parameter for sources created using Debezium format. #15304.SET
and ALTER SYSTEM SET
commands in psql
client. #15123.docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.8.0-standalone single_node
format_encode_options
. #14057.rw_streaming_parallelism
to allow queries on streaming job parallelism with job name and type. Adds system view rw_fragment_parallelism
to allow for queries on parallelism information at fragment level #14789, #14261.relpersistence
in pg_class
catalog. #14400.pg_get_viewdef()
. #14336.timestamp
type. #14413.snapshot
option to allow users to disable CDC backfill and to only consume from the latest changelog. #14718.transactional
parameter to true
for MySQL and Postgres CDC shared sources. #14899.batch_enable_distributed_dml
to enable batch ingesting. #14630.AUTO
to ADAPTIVE
parallelism. #14414.docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.7.0-standalone single_node
NOW
in upper bound condition for temporal filters. #13985.OR
expressions. #14382.<expr> [ NOT ] SIMILAR TO <pat> [ ESCAPE <esc_text> ]
clause. #14000.SOME
, ALL
, and ANY
expressions. Drop and recreate any materialized views that use these expressions. #14221.SET PARALLELISM
clause for ALTER
commands. #14240.0b10
is now interpreted as binary 10
instead of 0 as b10
. Integer literals can be given in hex 0x
, oct 0o
, and bin 0b
. #14262.to_char()
. #14071.NULL
and fraction expression as direct arguments of ordered-set aggregate functions. #14080.rw_streaming_parallelism
. #14261.transactional = true
in the WITH
options to enable it. #14375.scan.startup.timestamp_millis
to scan.startup.timestamp.millis
for Kafka, Pulsar, and NATS source. #13656.properties.ssl.endpoint.identification.algorithm
parameter for Kafka source and sink.#13990.FORMAT PLAIN ENCODE PROTOBUF
syntax for Kafka sink. #12858.timestamptz
can be sinked to DateTime64
. timestamp
cannot be sinked and has to be converted to timestamptz
first before being sinked. #13672._doc
for Elasticsearch 6.x and 7.x, and is removed in Elasticsearch 8.x. RisingWave’s Elasticsearch sink will now send JSONB as a JSON string, and Elasticsearch will convert it into an object. #14273.connector = 'iceberg_java'
is deprecated, and users can only Iceberg sinks with the Rust version of Iceberg. Similarly, the DeltaLake sink will also use the Rust version implementation. #14277.storage.prefetch_buffer_capacity_mb
to be configured in the TOML file to prevent out-of-memory issues. #13558.statement_timeout
value for queries. #13933.RW_SSL_CERT
and RW_SSL_KEY
environment variables to configure SSL certificates and key file location. #14062.docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.6.0 playground
SET SCHEMA
syntax for ALTER {TABLE t | [MATERIALIZED] VIEW (m)v | SOURCE src | SINK sink | CONNECTION c | FUNCTION f( argument_type [, ...] )}
. #13341.OWNER TO
syntax for ALTER DATABASE | SCHEMA | TABLE | [MATERIALIZED] VIEW | SOURCE | SINK. #13216.RENAME TO
syntax for ALTER { DATABASE db | SCHEMA s}
. #13713.KILL
command. #13434SHOW PROCESSLIST
command. #13287.SET TO DEFAULT
command. #13693.SHOW COLUMNS
and DESCRIBE
from sinks and views. #13626.jsonb_agg
and jsonb_object_agg
. #13299.jsonb_build_array
and jsonb_build_object
. #13198.to_jsonb
. #13161.@>
and <@
. #13253.CASE
expressions. If your instance enters a crash-loop, we suggest upgrading to v1.5.2, and dropping the corresponding materialized view that contains CASE
expressions.timestamptz
columns. #13451.[properties.fetch.queue.backoff.ms](http://properties.fetch.queue.backoff.ms)
for Kafka source. #13321.CREATE SINK
statements no longer need to wait for backfill to complete. #13665pause_on_next_bootstrap
. #11936docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.5.0 playground
UPDATE
and DELETE
statements. #12995substring
and substr
functions for bytea
data type. #13088.jsonb_pretty
, jsonb_object
, jsonb_strip_nulls
, and jsonb_extract_path
. #13050, #13036, #13169, #13143.@>
, <@
, ?
, ?|, ?&
, #>
, #>>
, -
and #-
operators. #13056, #13110, #13118.greatest
and least
functions. #12838.regexp_split_to_array
function. #12844.bit_and
and bit_or
aggregate functions in materialized views. #12758.jsonb_agg
and jsonb_object_agg
in streaming mode. #12836.rank
and dense_rank
window functions. #13183.google.protobuf.Any
support for Protobuf sources. #12291.schemas.enable
support for Kafka sinks with upsert JSON. #12113.server.id
option is now optional for MySQL CDC source. #13031timestamptz.handling.mode
option to control the timestamptz output format for certain sinks. #13109.stream
field and support for multiple inputs for the subject
field for NATS source connector. #12799.properties.allow.auto.create.topics
for Kafka sink. #12766.s3_v2
source connector, a more efficient version of the S3 source. #12595.docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.4.0 playground
array_min
. #12071array_max
. #12100array_sort
. #12189array_sum
. #12162format
function supports variable inputs. #12178||
operator for concatenating JSONB data. #12502bool_and
and bool_or
in materialized views. #11956WITH ORDINALITY
clause. #12273properties.enable.auto.commit
parameter for the Kafka consumer, which sets the enable.auto.commit
parameter for the Kafka client. #12223privatelink.endpoint
parameter to the WITH clause, to support private link for Kafka connector on GCP and AWS. #12266message.timeout.ms
and max.in.flight.requests.per.connection
for Kafka sources. #12574sequence_number
is no longer supported as a startup mode option. #12241FORMAT DEBEZIUM ENCODE JSON
after the connector definition of CDC tables. Allow optional FORMAT NATIVE ENCODE NATIVE
after the connector definition of Nexmark sources or tables. #12306sink_decouple
session variable as default
, true
and enable
, or false
and disable
. #12544varchar
column in RisingWave can sink into a uuid
column in Postgres. #12704information_schema.views
, which contains formations about views defined in the database. #12045docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.3.0 playground
DISTRIBUTED BY
columns have been changed from the whole index columns into the first index column. #11865
ALTER SOURCE ADD COLUMN
. #11350
SHOW JOBS
and CANCEL JOBS
, with which you can show the in-progress streaming jobs and cancel jobs by their IDs. #11854
[I]LIKE
in SHOW
commands. #11791
array_transform
. #11888, #11937to_date()
. #11241to_char()
function now supports timestamptz
input. #11778scale
, min_scale
, and trim_scale
. #11663regexp_replace
. #11819regexp_count
. #11975[NOT] ILIKE
expressions. #11743[!]~~[*]
operators, which are equivalent to [NOT] [I]LIKE
. #11748IS JSON
predicate. #11831schema.registry.name.strategy
to the Kafka connector, with which you can specify naming strategies for schema registries. #11384SET cdc_backfill="true";
#11707client.id
for Kafka sources. #11911max_concurrent_creating_streaming_jobs
, with which users can specify the maximum number of streaming jobs that can be created concurrently. #11601docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.2.0 playground
DROP
commands now support the CASCADE
option, which drops the specified item and all its dependencies. #11250
CREATE TABLE
now supports the APPEND ONLY
clause, allowing the definition of watermark columns on the table. #11233
START TRANSACTION
, BEGIN
, and COMMIT
for read-only transactions. #10735
SHOW CLUSTER
to show the details of your RisingWave cluster, including the address of the cluster, its state, the parallel units it is using, and whether it’s streaming data, serving data, or unschedulable. #10656, #10932
lead()
and lag()
. #10915
first_value()
and last_value()
, which retrieve the first and last values within a specific ordering from a set of rows. #10740
grouping()
function to determine if a column or expression in the GROUP BY
clause is part of the current grouping set or not. #11006
set_config()
system administration function. #11147
sign()
mathematical function. #10819
string_agg()
with DISTINCT
and ORDER BY
, enabling advanced string concatenation with distinct values and custom sorting. #10864
string_agg()
and other aggregations with DISTINCT
. #10864
zone_string
parameter in the date_trunc()
, extract()
, and date_part()
functions, ensuring compatibility with PostgreSQL. #10480
date_trunc
was actually a date, the function would cast it to a timestamp and record the choice in the query plan. However, after this release, new query plans will cast the input to timestamptz
instead. As a result, some old SQL queries, especially those saved as views, may fail to bind correctly and require type adjustments. It’s important to note that old query plans will continue working because the casting choice is recorded with a cast to timestamp.
Before this release:
date_trunc
includes the timezone offset (+00:00
) in the output, making it consistent with the behavior in PostgreSQL.
round()
now accepts a negative value and rounds it to the left of the decimal point. #10961
to_timestamp()
now returns timestamptz
. #11018
SELECT
now supports the EXCEPT
clause which excludes specific columns from the result set. #10438, #10723
SELECT
now supports the GROUPING SETS
clause which allows users to perform aggregations on multiple levels of grouping within a single query. #10807
CUBE
in group-by clauses to generate multiple grouping sets. #11262
created_at
and initialized_at
from RisingWave relations such as sources, sinks, and tables in RisingWave catalogs. #11199primary_key
option. #11042
access_key
and its corresponding secret_key
are now mandatory for all AWS authentication components. #11120
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.1.0 playground
GROUPING SETS
clause. #10807current_setting()
function to get the current value of a configuration parameter. #10051
array_position()
, array_replace()
, array_ndims()
, array_lower()
, array_upper()
, array_length()
, and array_dims()
. #10166, #10197
percentile_cont()
, percentile_disc()
, and mode()
. #10252
user()
, current_user()
, and current_role()
. #10366
left()
and right()
. #10765
octet_length()
and bit_length()
. #10462
array_length()
and cardinality()
return integer instead of bigint. #10267
row_number
window function that doesn’t match the TopN pattern. #10869
GROUP BY
output alias or index. #10305
FROM
clause. #10317
CREATE SOURCE
and CREATE TABLE
commands. For v1.0.0, the old syntax is still accepted but will be deprecated in the next release. #10768
Old syntax - part 1:
BYTES
as a row format. #10592
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.0.0 playground
brew install risingwave
. See Run RisingWave.pg_indexes
and dattablespace
system catalogs. #9844, #9822SHOW PARAMETERS
command will display the mutability of each system parameter. #9526VALUES
clause. #8751ORDER BY
and PARTITION BY
clauses. #9827CREATE CONNECTION
and SHOW CONNECTIONS
: Creates an AWS PrivateLink connection and show all available connections. #8907DROP CONNECTION
: Drops a connection. #9128SHOW FUNCTIONS
: Shows existing user-defined functions. #9398DROP FUNCTIONS
: Drops a user-defined function. #9561SHOW CREATE SOURCE
and SHOW CREATE SINK
: Shows the SQL statement used to create a source or sink. #9083SHOW INDEXES
: Shows all indexes on a particular table. #9835lag()
and lead()
window functions and the OVER()
and EMIT ON WINDOW CLOSE
clause. #9597, #9622, #9701bool_and
, bool_or
, jsonb_agg
, and jsonb_object_agg
. #9452max()
, min()
, and count()
for timestamptz data. #9165to_char()
and to_timestamp()
. #9257overlay()
and ascii()
functions. #9321string_to_array()
function. #9289array_positions()
. #9152cardinality()
. #8867array_remove()
. #9116trim_array()
. #9265btrim()
and updates trim()
to PostgreSQL standard syntax. #8985date_part()
. #8830extract()
with more fields. #8830proctime()
, which returns the system time with time zone when a record is processed. #9088translate()
, @()
, and ceiling()
. #8998encode()
and decode()
. #9351intersect
operator. #9573\
in a like
expression. #9624IS [NOT] UNKNOWN
comparison predicate. #9965starts_with()
string function and ^@
. #9967trunc
, ln
, log10
(log
), exp
, cbrt
(||/
) mathematical functions. #9991CREATE SOURCE
, CREATE TABLE
, or CREATE SINK
statement for a Kafka source/sink. #9119, #9128, #9728, #9263use_transaction
field in the Kafka sink connector. #9207upsert
property in the Kafka connector as it can be inferred from the row format. #9457properties.sync.call.timeout
in the WITH clause of the Kafka source connector to control the timeout. #9005DEBEZIUM_MONGO_JSON
in the Kafka source connector. #9250--data_directory
and --state_store
must be specified on CLI of the meta node, or the cluster will fail to start. #9170state_store
and data_directory
is occupied by another instance. Do not share the object store URL between multiple clusters. #9642docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.19.0 playground
y
, instead of z,
in x.y.z
) to indicate minor versions. That is why this is v0.18.0
, not v0.1.18
.NULLS { FIRST | LAST }
in ORDER BY
clauses. #8485array_length
: Returns the length of an array. #8636chr(integer)
-> varchar
starts_with(varchar, varchar)
-> boolean
initcap(varchar)
-> varchar
lpad(varchar, integer)
-> varchar
lpad(varchar, integer, varchar)
-> varchar
rpad(varchar, integer)
-> varcharrpad(varchar, integer, varchar)
-> varchar
reverse(varchar)
-> varchar
strpos(varchar, varchar)
-> integer
to_ascii(varchar)
-> varchar
to_hex(integer)
-> varchar
to_hex(bigint)
-> varchar
)DESCRIBE
. #8819UPDATE
commands cannot update primary key columns. #8569offset
to tumble()
and hop()
functions. #8490exp
operator when the operand is too large or small. #8309FOR SYSTEM_TIME AS OF NOW()
syntax to express process time temporal join. #8480basetime
to the load generator connector for generating timestamp data. The load generator will take this field as now
and generates data accordingly. #8619docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.18.0 playground
rw_catalog.rw_ddl_progress
, with which users can view the progress of a CREATE INDEX
, CREATE SINK
, or CREATE MATERIALIZED VIEW
statement. #7914pg_conversion
and pg_enum
system catalogs. #7964, #7706exp()
function. #7971pow()
function. #7789EXPLAIN
statements. #7590CREATE INDEX
statements. #7822SHOW PARAMETERS
and ALTER SYSTEM
commands to display and update system parameters. #7882, #7913match_pattern
to the S3 connector. With the new parameter, users can specify the pattern to filter files that they want to ingest from S3 buckets. For documentation updates, see Ingest data from S3 buckets. #7565docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.17 playground
Ctrl + C
. #7444to_timestamp
function. #7060RETURNING
clause in DML statements. #7094CREATE MATERIALIZED SOURCE
. To create a materialized source, create a table and include the newly added connector settings. #7281, #7110c
and i
flags in regex_match()
and regex_matches()
functions. #7135SHOW CREATE TABLE
. You can use this statement to show the definition of a table. #7152pg_stat_activity
system catalog and several system functions. #7274_rw_kafka_timestamp
parameter to show the timestamps of Kafka messages. Users can now specify the scope of Kafka messages by timestamps. #7275, #7150version()
. #7314SHOW INTERNAL TABLES
statement. #7348SET VISIBILITY_MODE
You can use this session variable to configure whether only checkpoint data is readable for batch query. #5850SET STREAMING_PARALLELISM
. You can use this session variable to configure parallelism for streaming queries. #7370docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.16 playground
SHOW CREATE MATERIALIZED VIEW
and SHOW CREATE VIEW
to show how materialized and non-materialized views are defined. #6921CREATE TABLE IF NOT EXISTS
. #6643CREATE TABLE AS
. #6798SET QUERY_EPOCH
to query historical data based on meta backup. #6840docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.15 playground
PRIMARY KEY
constraint checks can be performed on materialized sources and tables but not on non-materialized sources. For tables or materialized sources that enabled PRIMARY KEY
constraints, if you insert data to an existing key, the new data will overwrite the old data. #6320 #6435UNION
and UNION ALL
operators. #6363 #6397rank()
function to support a different mode of Top-N queries. #6383CREATE VIEW
). #6023data_trunc()
function. #6365s3://
, http://
, or https://
formats. #6114 #5964docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.14 playground
EXPLAIN
statements. #5541to_char()
now supports specifying output format in lowercase. #5032
to_char(timestamp '2006-01-02 15:04:05', 'yyyy-mm-dd hh24:mi:ss')
→ 2006-01-02 15:04:05
generate_series
now supports negative steps. #5231
array[1,2]::varchar
→ {1,2}
' 1 '::int
→ 1
\d
: Lists all relations in the current database. (Materialized) sources are not supported yet.\dt
: Lists all tables in the current database.\dm
: Lists all materialized views in the current database.\di
: Lists all indexes in the current database.pg_catalog.pg_index
: Contains information about indexes.docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.13 playground
EXPLAIN
now supports specifying options. Supported options: trace
, verbose
, and type
. Unlike PostgreSQL, each option should be separated by a comma and wrapped by parentheses as a whole. #4730ALTER USER
. #4261CREATE/ALTER USER
now has new options CREATEUSER
and NOCREATEUSER
, which specify whether or not the user has the privilege to create, alter, or drop other users. #4447current_schema
, current_schema()
, and session_user
. #4358pg_namespace
catalog now has a new namespace column nspacl
for storing access privileges. #4326kafka.brokers
-> properties.bootstrap.server
kafka.topic
-> topic
kafka.scan.startup.mode
-> scan.startup.mode
kafka.time.offset
-> scan.startup.timestamp_millis
kafka.consumer.group
-> consumer.group.id
kinesis.stream.name
-> stream
kinesis.stream.region
-> aws.region
kinesis.endpoint
-> endpoint
kinesis.credentials.access
-> aws.credentials.access_key_id
kinesis.credentials.secret
-> aws.credentials.secret_access_key
kinesis.credentials.session_token
-> aws.credentials.session_token
kinesis.assumerole.arn
-> aws.credentials.role.arn
kinesis.assumerole.external_id
-> aws.credentials.role.external_id
pulsar.topic
-> topic
pulsar.admin.url
-> admin.url
pulsar.service.url
-> service.url
pulsar.scan.startup.mode
-> scan.startup.mode
pulsar.time.offset
-> scan.startup.timestamp_millis
debezium json
, for CDC stream sources, has been renamed to debezium_json
. #4494
docker run -it --pull=always -p 4566:4566 -p 5691:5691 ghcr.io/risingwavelabs/risingwave:v0.1.12 playground
overlay()
: Replaces a substring. #3671generate_series()
: Generates a series of values from the starting point to the ending point. #4030regexp_match()
, regexp_matches()
: Compares a string against a regular expression pattern and returns matched substrings. #3702 #4062string_agg ()
: Concatenates the values into a string. #3952 #4183current_database()
: Returns the current database. #3650rw_batch_enable_lookup_join
to true. #3859 #3763ORDER BY
clause in the CREATE MATERIALIZED VIEW
statement is allowed but not considered as part of the definition of the materialized view. It is only used in the initial creation of the materialized view. It is not used during refreshes. This is a behavior change due to the introduction of parallel table scans. #3670CREATE SOURCE
: A parameter name is no longer wrapped by single quotation marks. #3997. See the example:
CREATE SOURCE s1 WITH ( 'connector' = 'kafka', 'kafka.topic' = 'kafka_1_partition_topic', 'kafka.brokers' = '127.0.0.1:29092' ) ROW FORMAT json;
CREATE SOURCE s WITH ( connector = 'kafka', kafka.topic = 'kafka_1_partition_topic', kafka.brokers = '127.0.0.1:29092' ) ROW FORMAT json;
run -it --pull=always -p 4566:4566 -p 5691:5691 ghcr.io/risingwavelabs/risingwave:v0.1.11 playground
||
. #3147concat()
for concatenating strings #3091repeat()
for repeating string #3148octet_length()
and bit_length() for getting string length #3526Row()
for constructing rows #2914 #3152pg_typeof()
for getting data types of values #3494current_database()
for getting the name of the current database in the session #3650approx_count_distinct()
for distinct counting #3121unnest()
for expanding nested tables to rows #3017count()
, min()
, and max()
functions on these data types: interval, timestamp, varchar, and date. #3069EXPLAIN CREATE INDEX
. #3229REVOKE
commands. #3363CREATE TABLE
syntax to support creating append-only tables. #3058CREATE USER
command and user authentication. #3074