CREATE ICEBERG TABLE¶
Creates or replaces an Apache Iceberg™ table in the current/specified schema.
Syntax¶
This section provides an overview of the syntax for all types of Iceberg tables. The syntax for creating an Iceberg table varies considerably depending on whether you use Snowflake as the Iceberg catalog or an external Iceberg catalog.
To view the syntax, parameter descriptions, usage notes, and examples for specific use cases, see the following pages:
Snowflake as the Iceberg catalog
External Iceberg catalog
CREATE ICEBERG TABLE (REST or Snowflake Open Catalog)
Tip
To automatically bring the tables in your remote REST catalog into Snowflake, you can create a catalog-linked database. With a catalog-linked database, you don’t need to create individual externally managed Iceberg tables to access the existing tables in your remote catalog from Snowflake. In addition, you can use the CREATE ICEBERG TABLE (catalog-linked database) or CREATE ICEBERG TABLE (catalog-linked database) … AS SELECT variant syntax with your catalog-linked database to create new remote Iceberg tables from Snowflake.
Snowflake as the Iceberg catalog¶
Where:
For additional inline constraint details, see CREATE | ALTER TABLE … CONSTRAINT.
Note
Snowflake represents columns defined as PRIMARY KEY as identifier fields in the Iceberg metadata. The IDs for these columns are populated in the metadata as identifier field IDs.
Snowflake doesn’t enforce NOT NULL and UNIQUE constraints on PRIMARY KEY columns for Iceberg tables.
For additional out-of-line constraint details, see CREATE | ALTER TABLE … CONSTRAINT.
For more information, see CREATE ICEBERG TABLE (Snowflake as the Iceberg catalog).
CREATE ICEBERG TABLE … AS SELECT (also referred to as CTAS)¶
For more information, see CREATE ICEBERG TABLE … AS SELECT.
CREATE ICEBERG TABLE … LIKE¶
For more information, see CREATE ICEBERG TABLE … LIKE.
External Iceberg catalog¶
Iceberg REST (including Snowflake Open Catalog)¶
Tip
To automatically bring the tables in your remote REST catalog into Snowflake, create a catalog linked database. With a catalog-linked database, you don’t have to create individual externally managed Iceberg tables to bring your remote tables into Snowflake.
Where:
For more information, see CREATE ICEBERG TABLE (Iceberg REST catalog).
Iceberg REST in a catalog-linked database¶
Where:
For more information, see CREATE ICEBERG TABLE (Iceberg REST catalog).
Delta files¶
For more information, see CREATE ICEBERG TABLE (Delta files in object storage).
Iceberg files in object storage¶
For more information, see CREATE ICEBERG TABLE (Iceberg files in object storage).