When running incremental models on Iceberg (catalog-linked) tables in Snowflake, the tmp relation is created as a permanent table because temporary tables are not supported in catalog-linked database schemas. Unlike session-scoped temporary tables, permanent tables share the regular schema namespace, so concurrent runs or teams not using schema-based dev isolation will collide on the same model__dbt_tmp name.
Users need more granular control over where the tmp relation is created (target schema, database, or naming strategy).
Relevant code: dbt-snowflake/src/dbt/include/snowflake/macros/materializations/incremental.sql
When running incremental models on Iceberg (catalog-linked) tables in Snowflake, the tmp relation is created as a permanent table because temporary tables are not supported in catalog-linked database schemas. Unlike session-scoped temporary tables, permanent tables share the regular schema namespace, so concurrent runs or teams not using schema-based dev isolation will collide on the same
model__dbt_tmpname.Users need more granular control over where the tmp relation is created (target schema, database, or naming strategy).
Relevant code:
dbt-snowflake/src/dbt/include/snowflake/macros/materializations/incremental.sql