Skip to main content

Generated columns

A generated column is a special column that is always computed from other columns. In RisingWave, you can create a generated column when creating a table or source.

To create a generated column, use the AS <generation_expression> clause in CREATE TABLE or CREATE SOURCE statements, for example:

CREATE TABLE t1 (v1 int AS v2-1, v2 int, v3 int AS v2+1);

Note that a generation expression cannot reference another generated column.

A generated column in a table is slightly different from one in a source.

  • A generated column in a table is stored in the created table, and computed when it is inserted. This is equivalent to the STORED type of generated columns in PostgreSQL. If a table contains a generated column, the table cannot be updated or deleted in RisingWave.

  • A generated column in a source is not stored in the created source, and is computed when the source is queried. This is equivalent to the VIRTUAL type of generated columns in PostgreSQL.

Help us make this doc better!

Was this page helpful?

Happy React is loading...