Commands
Trino

SHOW SCHEMAS / SHOW TABLES: Просмотр схем и таблиц: фильтрация по паттерну

Просмотр схем и таблиц: фильтрация по паттерну

Базовый синтаксис

Эти команды — первое, что делаешь, подключаясь к новому каталогу или ища данные. SHOW SCHEMAS показывает список схем (баз данных) в каталоге. SHOW TABLES — список таблиц в текущей или указанной схеме.

-- Показать все схемы в текущем каталоге
SHOW SCHEMAS;

-- Показать все таблицы в текущей схеме
SHOW TABLES;

-- Показать все таблицы в конкретной схеме 'web'
SHOW TABLES FROM web;

Полезные флаги

Чаще всего используешь LIKE для фильтрации и FROM для указания каталога.

-- Найти схемы, названия которых начинаются с 'tmp_'
SHOW SCHEMAS LIKE 'tmp_%';

-- Найти таблицы в схеме 'analytics', содержащие в названии 'events'
SHOW TABLES FROM analytics LIKE '%events%';

-- Показать таблицы в схеме 'sales' каталога 'iceberg'
SHOW TABLES FROM iceberg.sales;

Типичные сценарии

1. Поиск таблиц логов за определенный день. Допустим, у тебя ежедневные партиции и нужно найти все таблицы за март 2024.

SHOW TABLES FROM logs LIKE '%2024_03%';

2. Проверка успешности деплоя DDL-скриптов. После запуска миграции, которая создает временные схемы, убеждаешься, что они появились.

-- Проверить, создались ли служебные схемы для тестов
SHOW SCHEMAS FROM hive LIKE '%_backup';

3. Инвентаризация таблиц перед удалением устаревшего каталога. Перед отключением старого кластера Hive смотрю, остались ли в нем схемы, кроме служебных.

SHOW SCHEMAS FROM legacy_hive;

Частые ошибки

Забыть кавычки в паттерне LIKE. Без кавычек Trino будет искать конкретную таблицу с символами % в названии.

-- Неправильно: вернет ошибку или пустой результат
SHOW TABLES LIKE %events%;
-- Правильно:
SHOW TABLES LIKE '%events%';

Не указывать каталог при множественных подключениях. Если в сессии активен каталог iceberg, команда SHOW SCHEMAS покажет схемы только в нем. Чтобы посмотреть схемы в другом каталоге, нужно явно это указать.

-- Покажет схемы в каталоге 'hive', даже если текущий каталог другой
SHOW SCHEMAS FROM hive;