Hi, when DLT is creating a databricks internal materialized views it appears metabase syncs sees these internal tables with prefix “__materialization”. I have found that:
-- this does not show“__materialization” views.
show tables in production.gold
-- but this does return the “__materialization” table entries ...
SELECT table_name, table_schema, table_catalog FROM system.information_schema.tables WHERE table_schema = 'gold'
When syncing the logs show it then fails due to “insufficient permissions” when trying to get fields values etc on the table when scanning for metadata. How do we hide these internal objects from metabase when metabase has access to the whole schema - we would prefer not to do table level as this is on a quite a few schemas.
The list of these views are growing longer in each schema that metabase has USAGE/SELECT on.
I have for now used the hide table function in the admin table metadata section - but new tables are added over time.
Metabase version: v0.58.5 - Built on 2026-02-04
Thanks in advance for any comments/recommendations.
Additional context from databricks support:
The __materialization are DLT internal backing tables to store data for materialized views and cannot or not intended to be queried directly.
SHOW TABLES uses the regular table‑listing path and hides internal entities like these backing tables. But system.information_schema.tables is built directly from Unity Catalog’s metadata, it returns all relations you are permitted to see, including materialized views and internal relations.
Those internal tables aren’t the materialized view object; they’re backing implementation. Given the constraint Service Principal has access to the whole schema and we don’t want per‑table grants, there is no config that makes SHOW TABLES and system.information_schema.tables line up exactly while hiding just these internal tables. The recommended workaround is to use client‑side filter, refer below query for example. Unity Catalog does not support pattern-based grants/revokes or DENY, so there is no way to exclude tables by pattern at the schema level
Would it be possible for metabase to use show tables + information schema - to reduce the noise of internal tables which should not be listed as an alternative?