Materialize v0.52

v0.52.0

Sources and sinks

  • Allow reading from all non-errored subsources in the PostgreSQL source, when a source error occurs. Prior to this release, if Materialize encountered an error during replication for any table, it’d block reads from all replicated tables associated with the source.

SQL

  • Automatically run introspection queries in the mz_introspection cluster, which has several indexes installed to speed up queries using system catalog objects (like SHOW commands). This behavior can be disabled via the new auto_route_introspection_queries configuration parameter.

  • Add reason to the mz_internal.mz_cluster_replica_statuses system catalog table. If a cluster replica is in a not-ready state, this column provides details on the cause (if available). With this release, the only possible non-null value for reason is oom-killed, which indicates that a cluster replica was killed because it ran out of memory (OOM).

  • Add credits_per_hour to the mz_internal.mz_cluster_replica_sizes system catalog table, and rate limit free trial accounts to 4 credits per hour.

    To see your current credit consumption rate, measured in credits per hour, run the following query:

    SELECT sum(s.credits_per_hour) AS credit_consumption_rate
      FROM mz_cluster_replicas r
      JOIN mz_internal.mz_cluster_replica_sizes s ON r.size = s.size;
    
  • Add default privileges to databases objects. Each object-specific system table now has a privileges column that specifies the privileges belonging to the object. This is part of the work to enable Role-based access control (RBAC) (#11579).

    It’s important to note that privileges cannot currently be modified, and are not considered when executing statements. This functionality will be added in a future release.

  • Add the GRANT PRIVILEGE and REVOKE PRIVILEGE commands, which allow granting/revoking privileges on a database object. To ensure compatibility with PostgreSQL, sources, views and materialized views must specify TABLE as the object type, or omit it altogether.

    This is part of the work to enable Role-based access control (RBAC) in a future release (#11579).

Bug fixes and other improvements

  • Breaking change. Change the type of id in the mz_schemas and mz_databases system catalog tables from integer to string, for consistency with the rest of the catalog. This change should have no user impact, but please let us know if you run into any issues.

  • Fix a bug where the before field was still required in the schema of change events for Kafka sources using ENVELOPE DEBEZIUM (#18844).

Known issues

  • This release inadvertently broke compatibility with dbt-materialize <= v1.4.0. Please upgrade to dbt-materialize v1.4.1, which contains a workaround.

    The upcoming v0.53 release of Materialize will restore compatibility with dbt-materialize <= v1.4.0.

Back to top ↑