With Materialize, you use SQL to transform your fast-changing data into live data products: the business objects (e.g., a customer, an order, a store) that your applications, services, dashboards, and AI agents read.

From SQL to live data products

You use views and materialized views to define your business objects in SQL. Materialize keeps the results of indexed views and materialized views up to date as it ingests your data.

Structuring your transformations as views gives you:

  • Reuse: define a query once, then reference it from multiple places.
  • Readability: save complex logic under a clear, meaningful name.
  • Composability: break complex logic into stacked view definitions, building richer business objects on top of simpler ones.

SQL in Materialize

Materialize follows the SQL standard (SQL-92) implementation and aims for compatibility with the PostgreSQL dialect. It does not aim for compatibility with a specific version of PostgreSQL. This means that Materialize might support syntax from any released PostgreSQL version, but does not provide full coverage of the PostgreSQL dialect. The implementation and performance of specific features (like window functions) might also differ, because Materialize uses an entirely different database engine based on Timely and Differential Dataflow.

If you need specific syntax or features that are not currently supported in Materialize, please submit a feature request.

Explore this section

Back to top ↑