DESCRIBE ICEBERG TABLE

Describes either the columns in an Iceberg table or the current values, as well as the default values, for the properties of an Iceberg table.

DESCRIBE can be abbreviated to DESC.

Note that this topic refers to Iceberg tables as simply “tables” except where specifying Iceberg tables avoids confusion.

See also:

ALTER ICEBERG TABLE, DROP ICEBERG TABLE, CREATE ICEBERG TABLE, SHOW ICEBERG TABLES

Syntax

DESC[RIBE] [ ICEBERG ] TABLE <name> [ TYPE =  { COLUMNS | STAGE } ]
Copy

Parameters

name

Specifies the identifier for the table to describe. If the identifier contains spaces or special characters, the entire string must be enclosed in double quotes. Identifiers enclosed in double quotes are also case-sensitive.

TYPE = COLUMNS | STAGE

Specifies whether to display the columns for the table or the stage properties (including their current and default values) for the table.

Default: TYPE = COLUMNS

Access control requirements

A role used to execute this SQL command must have the following privileges at a minimum:

Privilege

Object

Notes

SELECT

Iceberg table

Note that operating on any object in a schema also requires the USAGE privilege on the parent database and schema.

For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.

For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.

Usage notes

  • This command does not show the object parameters for a table. Instead, use SHOW PARAMETERS IN TABLE.

  • DESC ICEBERG TABLE, DESCRIBE TABLE, and DESCRIBE VIEW are interchangeable. Any of these commands retrieves the details for the table or view that matches the criteria in the statement; however, TYPE = STAGE does not apply for views because views don’t have stage properties.

  • The output includes a POLICY NAME column to indicate the masking policy set on the column.

    If a masking policy isn’t set on the column or if the Snowflake account isn’t Enterprise Edition or higher, Snowflake returns NULL.

  • To post-process the output of this command, you can use the RESULT_SCAN function, which treats the output as a table that can be queried.

Example

Create an example Iceberg table:

CREATE OR REPLACE ICEBERG TABLE my_iceberg_table
  CATALOG='my_catalog_integration'
  EXTERNAL_VOLUME='my_ext_volume'
  METADATA_FILE_PATH='path/to/metadata/v2.metadata.json';
Copy

Describe the columns in the table:

DESC ICEBERG TABLE my_iceberg_table ;
Copy