Materialize Profile

Vendor-supported plugin

Certain core functionality may vary. If you would like to report a bug, request a feature, or contribute, you can check out the linked repository and open an issue.

Overview of dbt-materialize

Maintained by: Materialize, Inc.
Source: https://github.com/MaterializeInc/materialize/blob/main/misc/dbt-materialize
Core version: v0.18.1 and newer

The easiest way to install is to use pip:

pip install dbt-materialize

Connecting to Materialize with dbt-materialize

The dbt profile for Materialize is nearly identical to the profile configuration for Postgres:

profiles.yml
dbt-materialize:
target: dev
outputs:
dev:
type: materialize
threads: 1
host: [host]
port: [port]
user: [user]
pass: [password]
dbname: [database]
schema: [name of your dbt schema]

Supported Features

Materializations

TypeSupported?Details
viewYESCreates a view.
materializedviewYESCreates a materialized view.
tableYESCreates a materialized view. (Actual table support pending #5266)
ephemeralYESExecutes queries using CTEs.
incrementalNOUse the materializedview materialization instead. Materialized views will always return up-to-date results without manual or configured refreshes. For more information, check out Materialize documentation.

Seeds

Running dbt seed will create a static materialized view from a CSV file. You will not be able to add to or update this view after it has been created. If you want to rerun dbt seed, you must first drop existing views manually with drop view.

Resources