Skip to content

Use catalog-managed tables

Catalog-Managed Tables introduce a catalogManaged reader-writer table feature that changes how Delta Lake discovers and accesses tables. With this feature enabled, the catalog coordinates commit atomicity, allowing for features like multi-table transactions that are difficult to achieve with filesystem-only primitives.

By default, Delta Lake relies entirely on the filesystem for read-time discovery and write-time commit atomicity. Each table manages its own transaction logs and conflict detection independently. Catalog-managed tables shift this responsibility to the managing catalog, which allows the catalog to orchestrate commits across multiple tables within a single transaction boundary while maintaining Delta Lake’s ACID guarantees.

  • Catalog-managed tables requires the following Delta protocols:
    • Reader version 3 or above.
    • Writer version 7 or above.
  • The In-Commit Timestamps table feature must be enabled, as commit publishing can occur asynchronously and file modification timestamps may not reflect actual commit times.
  • The VACUUM Protocol Check table feature must be enabled to provide proper vacuum operations on catalog-managed tables.

You can enable catalog-managed commits for new tables when using a catalog that supports this feature, such as Unity Catalog.

Enable catalog-managed commits for new tables

Section titled “Enable catalog-managed commits for new tables”

Enable the catalogManaged table feature by setting the following table property when creating a table:

CREATE TABLE sales_data (
sale_id BIGINT,
amount DECIMAL(10,2),
sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');

Check if catalog-managed commits are enabled

Section titled “Check if catalog-managed commits are enabled”

To verify whether a table has catalog-managed commits enabled:

DESCRIBE DETAIL sales_data;

If enabled, catalogManaged appears in the tableFeatures column.

  • Catalog-managed tables cannot be enabled on existing tables. Once enabled, the feature cannot be disabled.
  • CREATE OR REPLACE TABLE is not supported for tables with catalog-managed commits enabled.