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.
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)
Solutions
- Do not rename the Iceberg table; instead create a new table/sink with the desired name and migrate data.
- If only a RisingWave alias is needed, create a non-Iceberg view or a new table and drop the old one.
- 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
- Exclude Iceberg tables from generic rename/migration scripts.
- Plan table naming up front; renaming later requires recreation.
- Use views for naming indirection if renames may be needed.
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
- ALTER TABLE {} is not supported for iceberg table without au
- ALTER TABLE {} is not supported for iceberg table: {}.{}. Ex
- ALTER TABLE SET PARALLELISM is not supported for iceberg tab
- ALTER TABLE SET BACKFILL PARALLELISM is not supported for ic
- ALTER TABLE REFRESH SCHEMA is not supported for iceberg tabl
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/a90138ed6d13e70d.
Report an issue: GitHub.