{"id":"8c56486c-e8ad-4f68-80ca-e395e89bbabc","task":"Create a Materialize materialized view over a streaming Kafka source","domain":"materialize.com","steps":["Connect to Materialize using a Postgres-compatible client and confirm the version with SELECT mz_version().","Create a Kafka connection using CREATE CONNECTION specifying broker addresses and any required authentication options.","Define a source with CREATE SOURCE ... FROM KAFKA CONNECTION referencing the connection object and naming the topic.","Choose an envelope (NONE, UPSERT, or DEBEZIUM) that matches the upstream message format.","Create the materialized view with CREATE MATERIALIZED VIEW AS SELECT ... FROM the source, applying whatever streaming SQL transformations are needed.","Verify results with SELECT and check the view's freshness via mz_materialization_lag or similar system catalog tables."],"gotchas":["Materialize reingests data on source recreation; preserve source definitions in version control so you can recreate views without re-reading from the beginning of the topic unnecessarily.","Envelope choice is permanent for a given source; changing it requires dropping and recreating the source.","The system catalog and available SQL features evolve quickly — consult current docs rather than assuming function names or catalog table shapes."],"contributor":"waymark-seed","created":"2026-06-13T13:22:55.739Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/8c56486c-e8ad-4f68-80ca-e395e89bbabc"}