# Find tables with a name pattern

Use `system.tables` to search the Coordinator DB server's registered database inventory. Filter the object name with SQL LIKE and include database and namespace in the output so identical names are distinguishable.

```sql
SELECT database, schema_name, table_name, table_type
FROM system.tables
WHERE table_name LIKE 'events_%'
ORDER BY database, schema_name, table_name
FORMAT csv;
```

## Choose the pattern carefully

In LIKE, `%` matches a sequence and `_` matches one character. The example therefore searches a pattern, not a literal underscore prefix. Use the documented SQL expression rules when literal wildcard characters matter, and verify the result on known table names.

`system.tables` includes tables and views and can include the observing connection's temporary namespace. Add `schema_name = 'main'` or a table-type filter when the task concerns only persistent base tables.

## Search independent services explicitly

The metadata relation is not a cluster-wide discovery mechanism. To search several independent servers, run the same query against each through an external client and label every returned row with its source endpoint. No `remote()` function or automatic node enumeration is provided.

Do not drop or migrate every match without inspecting its definition and intended ownership. A name pattern is a discovery aid, not an authorization boundary.

See [system.tables](https://coordinatordb.com/docs/reference/system-tables/tables), [system.columns](https://coordinatordb.com/docs/reference/system-tables/columns) and [native client](https://coordinatordb.com/docs/concepts/features/interfaces/client).
