risingwavelabs/risingwave · error

ALTER TABLE RENAME is not supported for iceberg table

Error message

ALTER TABLE RENAME is not supported for iceberg table: {}.{}

What it means

Renaming an Iceberg table via `ALTER TABLE ... RENAME` is not supported. The name of an Iceberg-backed table is tied to its sink definition, so renaming it in RisingWave alone would break the association with the external Iceberg table.

Solutions

  1. Do not rename the Iceberg table; instead create a new table/sink with the desired name and migrate data.
  2. If only a RisingWave alias is needed, create a non-Iceberg view or a new table and drop the old one.
  3. Rename on the Iceberg catalog side if the external tooling supports it, then rebuild the sink.

Example fix

// before
ALTER TABLE iceberg_t RENAME TO new_name;
// after
-- create new sink/table with desired name, migrate, then DROP the old one
Defensive patterns

Strategy: validation

Validate before calling

-- Do not rename iceberg-backed tables
SELECT relation_kind FROM rw_catalog.rw_relations WHERE name = 't';
-- if iceberg-backed, create a new table/sink instead of RENAME

Type guard

fn is_rename(op: &AlterTableOperation) -> bool {
    matches!(op, AlterTableOperation::RenameTable {..})
}

Try / catch

match client.alter_table_rename(table, new_name).await {
    Err(e) if e.message().contains("RENAME is not supported for iceberg table") => {
        // create new table + sink, migrate, drop old
    }
    other => other?,
}

Prevention

When it happens

Trigger: Executing `ALTER TABLE <iceberg_table> RENAME TO ...` on a table backed by an Iceberg sink.

Common situations: Reorganizing table names/namespaces; renaming conventions during migrations; generic rename scripts run across all tables.

Related errors


AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11). Data as JSON: /api/errors/a90138ed6d13e70d. Report an issue: GitHub.

Appendix: source

Thrown at src/frontend/src/handler/mod.rs:1767

                    "ALTER TABLE {} is not supported for iceberg table without auto schema change sink: {}.{}",
                    operation,
                    schema_name,
                    table_name
                );
            }
        }
        AlterTableOperation::RenameColumn { .. }
        | AlterTableOperation::ChangeColumn { .. }
        | AlterTableOperation::AlterColumn { .. } => {
            bail!(
                "ALTER TABLE {} is not supported for iceberg table: {}.{}. Existing column schema mutation is not supported currently",
                operation,
                schema_name,
                table_name
            );
        }
        AlterTableOperation::RenameTable { .. } => {
            bail!(
                "ALTER TABLE RENAME is not supported for iceberg table: {}.{}",
                schema_name,
                table_name
            );
        }
        AlterTableOperation::SetParallelism { .. } => {
            bail!(
                "ALTER TABLE SET PARALLELISM is not supported for iceberg table: {}.{}",
                schema_name,
                table_name
            );
        }
        AlterTableOperation::SetBackfillParallelism { .. } => {
            bail!(
                "ALTER TABLE SET BACKFILL PARALLELISM is not supported for iceberg table: {}.{}",
                schema_name,
                table_name
            );

View on GitHub (pinned to 6469eb736d)