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.
Overview
Section titled “Overview”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.
Requirements
Section titled “Requirements”- 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.
Enable catalog-managed commits
Section titled “Enable catalog-managed commits”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.
Limitations
Section titled “Limitations”- Catalog-managed tables cannot be enabled on existing tables. Once enabled, the feature cannot be disabled.
CREATE OR REPLACE TABLEis not supported for tables with catalog-managed commits enabled.