# Data Explorer

> Browse every database, table, column, index, projection, and dependency in your ClickHouse instance without writing SQL.

| | |
|---|---|
| **Routes** | `/explorer` |
| **Feature id** | `tables` |
| **Default access** | `public` |
| **Requires auth** | No (set `CHM_FEATURE_TABLES_ACCESS=authenticated` to gate) |
| **System tables** | `system.databases`, `system.tables`, `system.columns`, `system.projection_parts`, `system.data_skipping_indices`, `system.dictionaries` |
| **ClickHouse grants** | `SELECT` on the system tables above |

## What it does

The Data Explorer provides a tree-browser for the entire schema of a ClickHouse host. Select a database from the sidebar, then a table, to see:

- **Column list** — name, type, and whether the column is part of the primary key, sorting key, or partition key.
- **DDL** — the `CREATE TABLE` statement for the selected table.
- **Indexes** — partition key, sorting key, primary key, sampling key, and engine parameters.
- **Skip indexes** — data-skipping index definitions.
- **Projections** — defined projections and their storage.
- **Dependencies** — upstream and downstream objects (views, dictionaries) that reference or are referenced by the table.
- **Table metadata** — engine, total rows, compressed size.

All queries are read-only. No writes are issued.

## Pages

| Page | Route | What it shows | System tables |
|---|---|---|---|
| Data Explorer | `/explorer` | Database tree; table details: columns, DDL, indexes, projections, skip indexes, dependencies | `system.databases`, `system.tables`, `system.columns`, `system.projection_parts`, `system.data_skipping_indices`, `system.dictionaries` |

## Permissions & access

The Data Explorer shares the `tables` feature id with all other table pages. Gating or disabling `tables` affects the explorer too:

```bash
## Gate to authenticated users
CHM_FEATURE_TABLES_ACCESS=authenticated

## Disable entirely
CHM_FEATURE_TABLES_ENABLED=false
## or
CHM_DISABLED_FEATURES=tables
```

```toml
## CHM_CONFIG_FILE (TOML)
[features.tables]
access = "authenticated"
```

## Configuration

No feature-specific configuration. Global query timeout applies:

```bash
CLICKHOUSE_MAX_EXECUTION_TIME=60
```

## Notes & limitations

- **`system.data_skipping_indices`** — available since ClickHouse 20.6. The skip-index panel is hidden on older versions.
- **`system.projection_parts`** — projections were introduced in ClickHouse 21.6. The projections panel is hidden on older versions.
- **Dependencies** — dependency tracking uses the `dependencies_database` and `dependencies_table` arrays in `system.tables`. These arrays are populated for materialized views and dictionaries. Direct table references in ad-hoc queries are not tracked.
- The explorer is read-only. You cannot create, alter, or drop objects from this page.
- On clusters with many databases (hundreds), the initial database list query against `system.databases` may be slow. Increase `CLICKHOUSE_MAX_EXECUTION_TIME` if needed.

## Related

- [Tables](/features/tables)
- [Authentication](/authentication)
- [Settings reference](/settings)
