Tools and integrations

Materialize is wire-compatible with PostgreSQL, which means it integrates with many SQL clients and other tools in the data ecosystem that support PostgreSQL. This page describes the status, level of support, and usage notes for commonly used and requested Materialize integrations and tools.

NOTE:

If there’s a tool that you’d like to use with Materialize but is not listed, let us know by submitting a feature request!

For listed tools that are not yet production-ready, you can register your interest by clicking the Notify Me button. This helps us prioritize integration work, and follow up with you once the support level for the tool has evolved.

Support level Description
Production We are committed to prioritizing bugs in the interaction between these tools and Materialize.
Beta There may be small performance issues and minor missing features, but Materialize supports the major use cases for this tool. We can’t guarantee bug reports or feature requests will be prioritized.
Alpha Some of our community members have made this integration work, but we haven’t tested it internally and can’t vouch for its stability.
In Progress There are known issues preventing the integration from working, but we are actively developing features that unblock the integration.
Researching There are known issues preventing the integration from working, and we are gathering user feedback and gauging interest in supporting these integrations.

Message brokers

Kafka

Kafka is supported as a source, with features like upserts and Debezium CDC, and as a sink with exactly-once semantics.

Service Support level Notes
Apache Kafka Production See the source and sink documentation for more details.
Confluent Cloud Production Use SASL authentication to securely connect to a Confluent Cloud cluster. See the Confluent Cloud guide for a step-by-step breakdown of the integration.
Amazon MSK (Managed Streaming for Apache Kafka) Production See the source documentation for more details, and the Amazon MSK guide for a step-by-step breakdown of the integration.
Heroku Kafka Alpha Use SSL authentication and the Heroku-provided provided keys and certificates for security, and the KAFKA_URL as the broker address, after removing kafka+ssl://.
WarpStream Beta See the WarpStream guide for a step-by-step breakdown of the integration.

Redpanda

Being Kafka API-compatible, Redpanda is supported as a source and as a sink at the same level and with the same features as Kafka.

Service Support level Notes
Redpanda Production See the source and sink documentation for more details.
Redpanda Cloud Production Use SASL authentication to securely connect to Redpanda Cloud clusters. See the Redpanda documentation for more details, and the Redpanda Cloud guide for a step-by-step breakdown of the integration.

Kinesis Data Streams

Service Support level Notes
AWS Kinesis Data Streams Researching Subscribe via “Notify Me” to register interest.

Other message brokers

Service Support level Notes
GCP Pub/Sub Researching Integration requires implementing a new connector.
Azure Event Hubs Researching Integration requires implementing a new connector.
Event Hubs provides a Kafka-compatible endpoint that may enable interoperability with Materialize, but this hasn’t been officially tested.
Apache Pulsar Researching Integration requires implementing a new connector.
Pulsar provides a Kafka-compatible wrapper that may enable interoperability with Materialize, but this hasn’t been officially tested.

👋 Is there another message broker you’d like to use with Materialize? Submit a feature request.

Databases

Materialize can efficiently maintain real-time materialized views on top of Change Data Capture (CDC) data originating from a database, either by directly consuming its replication stream or via Debezium.

PostgreSQL

PostgreSQL 11+ is supported as a source, both through the direct PostgreSQL source and through Debezium (via Kafka or Redpanda). Using a PostgreSQL instance as a source requires enabling logical replication.

Service Support level Notes
PostgreSQL (direct) Production See the source documentation for more details, and the relevant integration guide for step-by-step instructions:

PostgreSQL (via Debezium) Production See the PostgreSQL guide for a step-by-step breakdown of the integration.

MySQL

MySQL 5.7+ is supported as a source both through the direct MySQL source and through Debezium (via Kafka or Redpanda). Using a MySQL database as a source requires enabling GTID-based binlog replication.

Service Support level Notes
MySQL (direct) Production See the source documentation for more details, and the relevant integration guide for step-by-step instructions:

MySQL (via Debezium) Production See the MySQL CDC guide for a step-by-step breakdown of the integration.

Other databases

NOTE: OLAP databases like Snowflake, BigQuery or Redshift aren’t a good fit as a data source in Materialize, as these are typically consumers and not producers of change events.

Debezium has an extensive ecosystem of connectors, but each database has its own quirks. Materialize expects a specific message structure that includes the row data before and after the change event, which is not guaranteed for every connector.

Service Support level Notes
MongoDB (via Debezium) Researching Not supported yet. Subscribe via “Notify Me” to register interest.
SQL Server (via Debezium) Alpha Supported with known limitations. See the SQL Server CDC guide for a step-by-step breakdown of the integration.

👋 Is there another database you’d like to use with Materialize? Submit a feature request.

Object storage services

S3

Service Support level Notes
Amazon S3 Production Supported as a one-shot sink. See the Amazon S3 integration guide for a step-by-step breakdown of the integration.

Other object storage services

Service Support level Notes
GCP Cloud Storage Researching Integration requires implementing a new connector. Subscribe via “Notify Me” to register interest.
Azure Blob Storage Researching Integration requires implementing a new connector. Subscribe via “Notify Me” to register interest.

👋 Is there another object storage tool you’d like to use with Materialize? Submit a feature request.

Database and infrastructure management tools

dbt

Materialize integrates with dbt through the dbt-materialize adapter. The adapter implements custom materializations and macros to build, run and version-control models that transform streaming data in real time.

Service Support level Notes
dbt Core Beta See the dbt-materialize reference documentation for more details, and the development workflows guide for common dbt patterns.
dbt Cloud In Progress Not supported yet. We are working with the dbt community to bring native Materialize support to dbt Cloud soon.

Terraform

Materialize maintains a Terraform provider to help you safely and predictably provision and manage connections, sources, and other database objects.

Materialize also maintains several Terraform modules to help manage your other cloud resources. Modules allow you to bypass manually configuring cloud resources and are an efficient way of deploying essential infrastructure for your organization.

NOTE: While Materialize offers support for its provider, Materialize does not offer support for these modules.

SQL clients

Service Support level Notes
psql Production See SQL Clients for more details. Some backslash meta-commands are not yet supported.
DBeaver Production Connect using the Materialize database driver. See SQL Clients for more details.
DataGrip IDE Beta Connect using the PostgreSQL database driver. See SQL Clients for more details.
pgAdmin In Progress Not supported yet. Subscribe via “Notify Me” to register interest.
TablePlus Alpha Connect using the PostgreSQL database driver. See SQL Clients for more details.
VSCode Production Connect using the Materialize extension for VS Code.

👋 Is there another SQL client you’d like to use with Materialize? Submit a feature request.

Monitoring

Service Support level Notes
Datadog Production See the Datadog guide for a step-by-step breakdown of the integration.
Grafana Production See the Grafana guide for a step-by-step breakdown of the integration.

👋 Is there another SQL client you’d like to use with Materialize? Submit a feature request.

Client libraries and ORMs

Applications can use any common language-specific PostgreSQL drivers and PostgreSQL-compatible ORMs to interact with Materialize and create relations, execute queries and stream out results.

NOTE: Client libraries and ORM frameworks tend to run complex introspection queries that may use configuration settings, system tables or features not yet implemented in Materialize. This means that even if PostgreSQL is supported, it’s not guaranteed that the same integration will work out-of-the-box.

Client libraries

Language Support level Tested drivers Notes
Go Production pgx See the Go cheatsheet.
Java Production PostgreSQL JDBC driver See the Java cheatsheet.
Node.js Production node-postgres See the Node.js cheatsheet.
PHP Production pdo_pgsql See the PHP cheatsheet.
Python Production psycopg2 See the Python cheatsheet.
Ruby Production pg gem See the Ruby cheatsheet.
Rust Production postgres-openssl See the Rust cheatsheet.

ORM frameworks

Framework Support level Notes
Rails ActiveRecord Researching Not supported yet. Subscribe via “Notify Me” to register interest.
Prisma Researching Not supported yet. Subscribe via “Notify Me” to register interest.

👋 Is there another client library or ORM framework you’d like to use with Materialize? Submit a feature request.

Other tools

As a rule of thumb: if a tool has support for PostgreSQL, it might work out-of-the-box with Materialize using the native PostgreSQL connector. This will depend on the complexity of the queries each tool runs under the hood, and the configuration settings, system tables and features involved.

The level of support for these tools will improve as we extend the coverage of pg_catalog in Materialize and join efforts with each community to make the integrations Just Work™️.

Data integration

Service Support level Notes
Fivetran Beta See the Fivetran guide for a step-by-step breakdown of the integration
Stitch Researching Not supported yet. Subscribe via “Notify Me” to register interest.
Meltano Researching Not supported yet. Subscribe via “Notify Me” to register interest.
Airbyte Researching Not supported yet. Subscribe via “Notify Me” to register interest.
Striim Cloud Beta See the Striim Cloud guide for a step-by-step breakdown of the integration

Business Intelligence (BI)

Service Support level Notes
Metabase Beta Connect using the PostgreSQL database driver. See the Metabase integration page for more details.
Superset Alpha Connect using the PostgreSQL database driver.
Preset Alpha Connect using the PostgreSQL database driver.
Looker Alpha Connect using the PostgreSQL database driver. See the Looker integration page for more details.
Google Data Studio Alpha Connect using the PostgreSQL database driver.
Tableau Alpha Connect using the JDBC driver for PostgreSQL. See the Tableau integration page for more details.
Microsoft Power BI Alpha Connect using the PostgreSQL database driver. See the Power BI integration page for more details.

Headless BI

Service Support level Notes
Cube.js Alpha Connect using the Materialize driver. See the Cube guide for a step-by-step breakdown of the integration.

Reverse ETL

Service Support level Notes
Census Alpha Connect using the Materialize source. See the Census integration page for more details.
Hightouch In Progress Connect using the Materialize source.

Data collaboration

Service Support level Notes
Deepnote Production Connect using the Materialize connection. See the Deepnote integration page.
Hex Beta Connect using the Materialize connection.
Retool Alpha Connect using the PostgreSQL integration.

👋 Is there another tool you’d like to use with Materialize? Submit a feature request.

Subscribe to receive an email when support status is upgraded. No spam!
Back to top ↑