<a id="flink-sql-catalog-browser"></a>

# View Schema Metadata in the Catalog Browser

Every Confluent Cloud for Apache Flink® workspace has a **catalog browser**, a tree in the left
panel that lets you browse the catalogs, databases, and objects available to
your workspace. The catalog browser is backed by the
[INFORMATION_SCHEMA](../reference/flink-sql-information-schema.md#flink-sql-information-schema) catalog, so the
metadata it displays comes directly from Confluent Cloud for Apache Flink, not from Apache Kafka® or
Schema Registry.

Because the catalog browser reads from Flink’s own metadata, it can show you
information that isn’t available anywhere else in Confluent Cloud Console, including:

- The Flink SQL data type of each column, translated from the underlying
  topic schema, for example `VARCHAR(2147483647)` instead of a raw Schema Registry
  type
- System columns, such as `$rowtime`, alongside your user-defined columns
- Whether a column is nullable
- Which column, if any, is the table’s `PRIMARY KEY`
- The expression that defines a table’s [watermark](../../_glossary.md#term-watermark)
- All `WITH` options configured on a table, view, model, tool, or agent

#### NOTE
The metadata queries that populate the catalog browser run as lightweight,
hidden Flink SQL statements. They don’t consume
[CFUs](../concepts/flink-billing.md#flink-sql-cfus), so browsing the catalog tree and opening
object details doesn’t add to your Flink bill.

## Prerequisites

You need the following prerequisites to use Flink in Confluent Cloud Console.

- Access to Confluent Cloud.

## Browse the catalog tree

1. Log in to Confluent Cloud Console and open a Flink SQL workspace. For steps to
   create a workspace, see
   [Quick Start with Cloud Console](../get-started/quick-start-cloud-console.md#flink-sql-quick-start-cloud-console).
2. In the catalog browser, expand an environment, which represents a
   catalog, and a cluster, which represents a database.

   The tree shows a section for each kind of catalog object:
   - **Tables**
   - **Materialized tables**
   - **Views**
   - **Models**
   - **Agents**
   - **Tools**
   - **Functions**
   - **External tables**

   A section appears empty until you expand it for the first time, which
   triggers the metadata query for that object type. If a database has no
   objects of a given type yet, the section shows a prompt to create one, for
   example **Create a view**.
3. Click a section, like **Tables**, to expand it and list the objects it
   contains.

## View column metadata

1. Click a table, view, or other object in the catalog browser’s tree.

   A details panel opens below the tree, showing the object’s name and an
   expandable **Schema** section that lists every column, along with its
   Flink SQL data type.

   System columns, like `$rowtime`, are listed alongside user-defined
   columns and are marked with a distinct icon. A column that’s part of the
   table’s `PRIMARY KEY` is marked with a key icon.
2. Hover over a column to see a tooltip with more metadata:

   Type
   : the column’s fully qualified Flink SQL data type

   Nullable
   : whether the column allows `NULL` values

   Primary key
   : shown when the column is part of the table’s primary key

   System
   : shown for system columns like `$rowtime`

   Watermark
   : for a watermarked column, the expression that defines the
     [watermark](../../_glossary.md#term-watermark), for example `SOURCE_WATERMARK()`

## View object options

The catalog browser’s details panel includes an **Options** section, below
**Schema**, that lists the object’s `WITH` options as key-value pairs.
Examples include `connector`, `changelog.mode`, and any connector-specific
options like `rows-per-second`.

Click **Options** to expand or collapse the list. If the panel is too narrow
to show a long option key or value, drag the panel’s edge to resize it.

## Generate a DESCRIBE statement

Instead of typing a `DESCRIBE` statement by hand, you can generate one
directly from the catalog browser.

1. Click an object in the catalog browser’s tree to open its details panel.
2. Click the **Describe this table** icon next to the object’s name.

   A new cell is added to the workspace with a generated statement, for
   example:
   ```sql
   DESCRIBE EXTENDED `examples`.`marketplace`.`orders`;
   ```
3. Click **Run** to see the object’s extended metadata as query results,
   including its columns, `WITH` options, and constraints.

## Related content

- [Information Schema in Confluent Cloud for Apache Flink](../reference/flink-sql-information-schema.md#flink-sql-information-schema)
- [External Tables](../concepts/external-tables.md#flink-external-tables)
- [Materialized Tables](../concepts/materialized-tables.md#flink-sql-materialized-tables)
- [Scan and Summarize Tables with Confluent Cloud for Apache Flink](scan-and-summarize-tables.md#flink-sql-scan-and-summarize)
- [Example Data for Confluent Cloud for Apache Flink](../reference/example-data.md#flink-sql-example-data)

#### NOTE
This website includes content developed at the [Apache Software Foundation](https://www.apache.org/)
under the terms of the [Apache License v2](https://www.apache.org/licenses/LICENSE-2.0.html).
