Materialize Documentation
s
Join the Community github/materialize

Tools and integrations

Materialize is wire-compatible with PostgreSQL, which means it integrates with most client libraries, ORM frameworks and other third-party tools 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 and as a sink, with features like upserts, Debezium CDC, and exactly-once processing.

Service Support level Notes
Apache Kafka Production See the source and sink documentation for more details.
Confluent Cloud Kafka Production See the source and sink documentation for more details.
AWS MSK (Managed Streaming for Kafka) Production See the source documentation for more details, and the AWS 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 (replacing kafka+ssl:// with ssl://). Heroku is not supported as a sink yet (#8378).

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 Beta See the source and sink documentation for more details.
Redpanda Cloud Beta 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

Kinesis Data Streams is supported as a source, but not as a sink (#2372).

Service Support level Notes
AWS Kinesis Data Streams Beta See the source documentation for more details.

Other message brokers

Service Support level Notes
GCP Pub/Sub Researching Integration requires implementing a new connector (#2678).
Azure Event Hubs Researching Integration requires implementing a new connector (#2851).
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 (#3517).
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

Postgres 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) Beta See the source documentation for more details, and the PostgreSQL CDC guide for a step-by-step breakdown of the integration.
PostgreSQL (via Debezium) Production See the PostgreSQL CDC guide for a step-by-step breakdown of the integration.
Amazon RDS for PostgreSQL Beta See the Amazon RDS CDC guide for a step-by-step breakdown of the integration.
GCP Cloud SQL for PostgreSQL Beta See the GCP Cloud SQL CDC guide for a step-by-step breakdown of the integration.
Amazon Aurora Beta See the Amazon Aurora CDC guide for a step-by-step breakdown of the integration.
Amazon Aurora Serverless Researching Aurora serverless v1 does not support logical replication, which is required for PostgreSQL CDC.
Heroku Postgres Researching Heroku Postgres does not support logical replication, which is required for PostgreSQL CDC. Heroku provides Heroku Data Connectors that may enable interoperability with Materialize, but this hasn’t been officially tested.
Azure Database for PostgreSQL Beta See the Azure Database CDC guide for a step-by-step breakdown of the integration.
DigitalOcean Managed PostgreSQL Beta See the DO Managed PostgreSQL guide for a step-by-step breakdown of the integration.
CrunchyBridge Postgres Beta Logical replication is enabled by default. See the PostgreSQL CDC guide for a step-by-step breakdown of the integration.

MySQL

MySQL is indirectly supported as a source through Debezium (via Kafka or Redpanda). Using a MySQL instance as a source requires enabling row-based replication.

Service Support level Notes
MySQL (direct) Researching Not supported yet (#8078). Subscribe via “Notify Me” to register interest.
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 (#7289). Subscribe via “Notify Me” to register interest.
SQL Server (via Debezium) Alpha Supported with known limitations unrelated to Materialize. See the Debezium documentation for details on how to configure a SQL Server instance for CDC.

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

Object storage services

S3

S3 is supported as a source, but not as a sink (#7256).

Service Support level Notes
Amazon S3 Beta See the source documentation for more details.
MinIO Object Storage Researching Not supported yet (#6568).
MinIO provides a S3-compatible API that may enable interoperability with Materialize, but this hasn’t been officially tested.

Other object storage services

Service Support level Notes
GCP Cloud Storage Researching Integration requires implementing a new connector (#10349). 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 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 documentation for more details, and the dbt + Materialize guide for a step-by-step breakdown of the integration.
dbt Cloud In Progress Not supported yet. We are working with the dbt community to bring native Materialize support to dbt Cloud soon.

SQL clients

Service Support level Notes
DBeaver Production Connect using the PostgreSQL database driver.
DataGrip IDE In Progress Not supported yet (#9720). Subscribe via “Notify Me” to register interest.
pgAdmin In Progress Not supported yet (#5874). Subscribe via “Notify Me” to register interest.
TablePlus Alpha Connect using the PostgreSQL database driver.

👋 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.

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 (#2157) and join efforts with each community to make the integrations Just Work™️.

Data integration

Service Support level Notes
FiveTran Researching Not supported yet (#5188). Subscribe via “Notify Me” to register interest.
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.

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.
Google Data Studio Alpha Connect using the PostgreSQL database driver.
Tableau Researching Not supported yet. Subscribe via “Notify Me” to register interest.
Microsoft Power BI Researching Not supported yet. Subscribe via “Notify Me” to register interest.
Mode Analytics Researching Not supported yet. Subscribe via “Notify Me” to register interest.

Headless BI

Service Support level Notes
Cube.js Alpha Connect using the Materialize driver.

Reverse ETL

Service Support level Notes
Census Researching Not supported yet. Subscribe via “Notify Me” to register interest.
Hightouch In Progress Connect using a PostgreSQL source.

Data collaboration

Service Support level Notes
Hex Alpha Connect using a PostgreSQL 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!