Materialize exposes a system catalog that contains metadata about the running Materialize instance.
The system catalog consists of four 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 in
mz_catalogin the format used by PostgreSQL.
information_schema, which presents the data in
mz_catalogin 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.
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
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.