CREATE ICEBERG TABLE.
An Iceberg database stores only a pointer to an Iceberg LOCATION and a freshness setting. Each query resolves the table against the upstream catalog at run time, so any table added to the catalog becomes visible on the next query.
Syntax
Parameters
| Parameter | Description |
|---|---|
<database_name> | The name of the new Iceberg database. |
LOCATION | The name of an existing Iceberg LOCATION. The LOCATION must be warehouse-/catalog-scoped: its CATALOG_OPTIONS must not set NAMESPACE (REST), DATABASE (AWS_GLUE), SCHEMA (DATABRICKS_UNITY), or TABLE. |
MAX_STALENESS | (Optional) An interval string (for example, '30 seconds', '5 minutes', '1 hour'). Controls how long Firebolt can serve queries from cached catalog metadata. The default is '0' (no caching). For details, see Configurable data freshness with MAX_STALENESS. |
DESCRIPTION | (Optional) A description of up to 64 characters. |
Supported catalog types
CREATE ICEBERG DATABASE works with any Iceberg LOCATION object that targets one of the following catalog types:
FILE_BASEDRESTAWS_GLUESNOWFLAKE_OPEN_CATALOGDATABRICKS_UNITY
Name resolution
A fully qualified table name has three parts:<database>.<schema>.<table>.
<database>is the Iceberg database created withCREATE ICEBERG DATABASE.<schema>maps to the upstream Iceberg namespace.<table>maps to the Iceberg table within that namespace.
Examples
REST catalog
AWS Glue catalog
File-based catalog
Limitations
- The LOCATION must be warehouse-/catalog-scoped. A LOCATION that pins
NAMESPACE(REST),DATABASE(AWS_GLUE),SCHEMA(DATABRICKS_UNITY), orTABLEfails atCREATE ICEBERG DATABASEtime. - Tables in a mounted database are resolved on demand by name.
SHOW TABLESandinformation_schema.tablesdo not list them. - Tables are read-only, as with all Iceberg tables in Firebolt: DML statements (
INSERT,UPDATE,DELETE) are not supported.