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