In-place Apache Iceberg v3 table upgrades and expression defaults
You can now upgrade Apache Iceberg tables from v2 to v3 in place without recreating them, preserving privileges and references, while enabling SQL expressions as column defaults in managed v3 tables.
O que mudou
Snowflake has announced the general availability (GA) of in-place table upgrades from Apache Iceberg v2 to v3, along with support for SQL expressions, sequences, and identity columns as column defaults in v3 tables.
Use cases
Imagine you maintain Iceberg v2 tables in production and want to adopt Iceberg v3 capabilities—such as deletion vectors, row lineage, and v3 data types—without recreating objects, reconfiguring grants, or updating downstream dependencies. The in-place upgrade enables an immediate metadata transition.
With this update you can:
- Upgrade tables from v2 to v3 while preserving names, privileges, and downstream references.
- Configure expression defaults such as
CURRENT_DATE(), sequences, and mathematical functions on Snowflake-managed Iceberg v3 tables.
How to use
To upgrade an existing table to the Iceberg v3 specification, execute ALTER ICEBERG TABLE:
ALTER ICEBERG TABLE meu_catalogo.meu_schema.minha_tabela
UPGRADE TO ICEBERG VERSION 3;
What happens in this code:
- Snowflake converts the table metadata to Apache Iceberg v3 format in place.
- Table grants, access policies, and downstream references remain unchanged.
- If the v2 table already used expression defaults, Snowflake enables the
ALLOW_V3_EXPRESSION_DEFAULTSparameter automatically.
To manually permit non-constant expression defaults (such as dynamic functions or sequences) on a managed v3 table:
ALTER ICEBERG TABLE meu_catalogo.meu_schema.minha_tabela
SET ALLOW_V3_EXPRESSION_DEFAULTS = TRUE;
What happens in this code:
- The table allows defaults that require runtime evaluation by Snowflake during insert operations.
- Expressions that evaluate to constants (such as
PI()) are stored in Iceberg metadata, while non-constant defaults apply during Snowflake writes.
Limitations and requirements
- Maturity: Generally Available (GA).
- Scope: Supported on Snowflake-managed tables and externally managed tables using
CATALOG_SOURCE = ICEBERG_REST(including catalog-linked databases). - Rollback: The upgrade is irreversible by default; however, for Snowflake-managed tables, you can restore the pre-upgrade v2 table state via Time Travel within the data retention period.
- Expression evaluation: Non-constant defaults, sequences, and identity columns are evaluated only on Snowflake write operations and require
ALLOW_V3_EXPRESSION_DEFAULTS = TRUE.
Using it in a pipeline
In lakehouse architectures, upgrade existing Silver and Gold Iceberg tables to v3 without modifying ingestion pipelines, allowing your continuous pipelines to leverage v3 deletion vectors during high-volume MERGE and UPDATE workloads.
- apache iceberg
- iceberg v3
- alter iceberg table
- table upgrade
- metadata
October 16, 2026: Apache Iceberg™ v3 table upgrades and expression defaults (General availability)
Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.
Relacionadas
- SnowflakePublic Preview
Cortex AI Gateway chega à Azure, GCP e novas regiões AWS no Snowflake
O Cortex AI Gateway agora está disponível para contas nas regiões comerciais da Azure, GCP e AWS Nova Zelândia, centralizando a governança e o monitoramento de IA.
snowflake cortex · cortex ai gateway - SnowflakeGA
Espelhamento de dados do Snowflake Postgres chega em GA
Replique dados do Snowflake Postgres diretamente para o Snowflake quase em tempo real, sem conectores externos ou pipelines ETL, com suporte a tabelas nativas ou Iceberg.
snowflake postgres · data mirroring - SnowflakeGA
Snowflake Data Clean Rooms recebe versão 18.9 da API
A versão 18.9 da API do Snowflake Data Clean Rooms traz correções de bugs e melhorias de desempenho, com suporte a atualização automática ou manual.
snowflake · data clean rooms