Query syntax
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:
- A generation expression cannot reference another generated column.
- The generated column is created in RisingWave and will not be accessed through the external connector. Therefore, if the external upstream system has a schema, it does not need to include the generated column within the table’s schema in the external system.
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.
To create a generated column as the processing time of a message, use the proctime()
function, for example:
See also proctime().
Was this page helpful?