Schema:

ORGANIZATION_USAGE

TABLES view

Important

This view is only available in the organization account. For more information, see Premium views in the organization account.

This Organization Usage view displays a row for each table and view in an account.

See also:

COLUMNS view , VIEWS view, TABLES view (Information Schema)

Columns

Organization-level columns

Column NameData TypeDescription
ORGANIZATION_NAMEVARCHARName of the organization.
ACCOUNT_LOCATORVARCHARSystem-generated identifier for the account.
ACCOUNT_NAMEVARCHARUser-defined identifier for the account.

Additional columns

Column NameData TypeDescription
TABLE_IDNUMBERInternal, Snowflake-generated identifier for the table.
TABLE_NAMEVARCHARName of the table.
TABLE_SCHEMA_IDNUMBERInternal, Snowflake-generated identifier of the schema for the table.
TABLE_SCHEMAVARCHARSchema that the table belongs to.
TABLE_CATALOG_IDNUMBERInternal, Snowflake-generated identifier of the database for the table.
TABLE_CATALOGVARCHARDatabase that the table belongs to.
TABLE_OWNERVARCHARName of the role that owns the table.
TABLE_TYPEVARCHARIndicates the table type. Valid values are BASE TABLE, TEMPORARY TABLE, EXTERNAL TABLE, EVENT TABLE, VIEW, or MATERIALIZED VIEW.
IS_TRANSIENTVARCHARIndicates whether the table is transient.
CLUSTERING_KEYVARCHARColumn(s) and/or expression(s) that comprise the clustering key for the table.
ROW_COUNTNUMBERNumber of rows in the table.
BYTESNUMBERNumber of bytes accessed by a scan of the table.
RETENTION_TIMENUMBERNumber of days that historical data is retained for Time Travel.
SELF_REFERENCING_COLUMN_NAMEVARCHARNot applicable for Snowflake.
REFERENCE_GENERATIONVARCHARNot applicable for Snowflake.
USER_DEFINED_TYPE_CATALOGVARCHARNot applicable for Snowflake.
USER_DEFINED_TYPE_SCHEMAVARCHARNot applicable for Snowflake.
USER_DEFINED_TYPE_NAMEVARCHARNot applicable for Snowflake.
IS_INSERTABLE_INTOVARCHARNot applicable for Snowflake.
IS_TYPEDVARCHARNot applicable for Snowflake.
COMMIT_ACTIONVARCHARNot applicable for Snowflake.
CREATEDTIMESTAMP_LTZDate and time when the table was created.
LAST_ALTEREDTIMESTAMP_LTZDate and time the object was last altered by a DML, DDL, or background metadata operation. See Usage Notes.
LAST_DDLTIMESTAMP_LTZ

Timestamp of the last DDL operation performed on the table or view.

All supported table/view DDL operations update this field:

  • { CREATE | ALTER | DROP | UNDROP } TABLE
  • { CREATE | ALTER | DROP } VIEW

All ALTER TABLE operations update this field, including setting or unsetting a table parameter (for example, COMMENT, DATA_RETENTION_TIME, etc.) and changes to table columns (ADD / MODIFY / RENAME / DROP).

For more information, see the Usage Notes.

LAST_DDL_BYVARCHAR

The current username for the user who executed the last DDL operation. If the user has been dropped, shows DROPPED_USER(<id>).

For dropped users, you can join the <id> with the USER_ID column in the USERS view of the ACCOUNT_USAGE or ORGANIZATION_USAGE schema.

DELETEDTIMESTAMP_LTZDate and time when the table was dropped.
AUTO_CLUSTERING_ONVARCHARStatus of Automatic Clustering for a table. For details, see Viewing the Automatic Clustering status for a table.
COMMENTVARCHARComment for the table.
OWNER_ROLE_TYPEVARCHARThe type of role that owns the object, for example ROLE.
If a Snowflake Native App owns the object, the value is APPLICATION.
Snowflake returns NULL if you delete the object because a deleted object does not have an owner role.
INSTANCE_IDNUMBERInternal/system-generated identifier for the instance which the object belongs to.
IS_ICEBERGVARCHARIndicates whether the table is an Iceberg table. Valid values are YES or NO.
IS_DYNAMICVARCHARIndicates whether the table is a dynamic table. Valid values are YES or NO.
IS_HYBRIDVARCHARIndicates whether the table is a hybrid table. Valid values are YES or NO.
ARCHIVE_STORAGE_COOL_ROW_COUNTNUMBERThe number of rows that are in the COOL storage tier.
ARCHIVE_STORAGE_COOL_BYTESNUMBERThe number of bytes accessed by retrieving data from the COOL storage tier.
ARCHIVE_STORAGE_COLD_ROW_COUNTNUMBERThe number of rows that are in the COLD storage tier.
ARCHIVE_STORAGE_COLD_BYTESNUMBERThe number of bytes accessed by retrieving data from the COLD storage tier.

Usage notes

  • Latency for the view may be up to 24 hours.
  • The view does not recognize the MANAGE GRANTS privilege and consequently may show less information compared to a SHOW command executed by a user who holds the MANAGE GRANTS privilege.
  • Querying the SUM(BYTES) for a table does not represent the total storage usage, because the amount does not include Time Travel and Fail-safe usage.
  • Using the value in the LAST_ALTERED column for Time Travel is _not_ recommended and can return unexpected results for the following reaons:

    • Time Travel can only be used to query historical data modified by a DML operation.
    • The LAST_ALTERED column inludes both DML and DDL operations (see the next usage note).
    • For DML operations, the value in the LAST_ALTERED column is the timestamp at the beginning of the statement execution rather than the time of the commit of the transaction containing this statement.
  • The LAST_ALTERED column is updated when the following operations are performed on an object:

    • DDL operations.
    • DML operations (for tables only). This column is updated even when no rows are affected by the DML statement.
    • Background maintenance operations on metadata performed by Snowflake.

    For views and tables, use the LAST_DDL column for the last modification time for an object.

  • The value in the LAST_DDL column is updated as follows:

    • When a table or view is created, the LAST_DDL timestamp is the same as the CREATED timestamp.
    • When a table or view is dropped, the LAST_DDL timestamp is the same as the DELETED timestamp.
    • Last DDL data is not available for operations that occurred before the columns were added. The new DDL fields contain null until a DDL operation is executed.
    • For replicated databases, the LAST_DDL and LAST_DDL_BY fields are only updated for objects in the primary database. After failover, the LAST_DDL and LAST_DDL_BY fields are updated for DDL operations for the tables and views in the newly promoted primary database. These fields will remain unchanged for objects in the now secondary database.
    • For objects in secondary databases that are newly created during a refresh operation, these fields are null.
  • The LAST_ALTERED column does not necessarily indicate the last refreshed time for external tables. To retrieve the last refreshed time for an auto-refreshed external table, you can use the SYSTEM$EXTERNAL_TABLE_PIPE_STATUS function, which returns information such as the timestamp of the last file Snowflake has registered.

  • Note

    With BCR-2127, this view includes new columns for storage lifecycle policies. To view storage lifecycle policy columns, you must enable the 2025_07 behavior change bundle in your account.

    To enable this bundle in your account, execute the following statement:

    SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2025_07');

Examples

Retrieve the total size (in bytes) of all active tables in all schemas in your account:

SELECT account_name, table_schema, SUM(bytes)
    FROM SNOWFLAKE.ORGANIZATION_USAGE.TABLES
    WHERE deleted IS NULL
    GROUP BY table_schema;