System catalog
Materialize exposes a system catalog that contains metadata about the running Materialize instance.
The system catalog consists of several schemas that are implicitly available in all databases. These schemas contain sources, tables, and views that expose different types of metadata.
-
mz_catalog
, which exposes metadata in Materialize’s native format. -
pg_catalog
, which presents the data inmz_catalog
in the format used by PostgreSQL. -
information_schema
, which presents the data inmz_catalog
in the format used by the SQL standard’s information_schema. -
mz_internal
, which exposes internal metadata about Materialize in an unstable format that is likely to change. -
mz_introspection
, which contains replica introspection relations.
These schemas contain sources, tables, and views that expose metadata like:
-
Descriptions of each database, schema, source, table, view, sink, and index in the system.
-
Descriptions of all running dataflows.
-
Metrics about dataflow execution.
Whenever possible, applications should prefer to query mz_catalog
over
pg_catalog
. The mapping between Materialize concepts and PostgreSQL concepts
is not one-to-one, and so the data in pg_catalog
cannot accurately represent
the particulars of Materialize.