--- title: "Materialize v0.52" date: 2023-04-26 released: true patch: 4 --- ## v0.52.0 #### Sources and sinks * Allow reading from all non-errored subsources in the [PostgreSQL source](/sql/create-source/postgres/), 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 [//]: # "NOTE(morsapaes) This feature was released in v0.49, but is only considered production-ready after the changes shipping in v0.52 -— so mentioning it here." * Automatically run introspection queries in the [`mz_introspection` cluster](/sql/show-clusters/#mz_catalog_server-system-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](/sql/set/#other-configuration-parameters). * 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](/free-trial-faqs/) to 4 credits per hour. To see your current credit consumption rate, measured in credits per hour, run the following query: ```mzsql 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) {{% gh 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`](/sql/grant-privilege) and [`REVOKE PRIVILEGE`](/sql/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 {{% gh 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](https://materialize.com/s/chat) 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`](https://materialize.com/docs/sql/create-source/#debezium-envelope) {{% gh 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.