Как узнать существующие индексы таблицы PostgreSQL

Посмотрите pg_indexes с фильтрами schemaname и tablename. Затем сопоставьте определение индекса с запросом, порядком колонок и планом выполнения.

Короткий ответ

Что ответить на собеседовании

Посмотрите pg_indexes с фильтрами schemaname и tablename. Затем сопоставьте определение индекса с запросом, порядком колонок и планом выполнения.

Подробный разбор

Ответ с пояснениями

Условие

Нужно проверить индексы таблицы public.users, прежде чем предлагать новый. Как получить их определения и почему наличие индекса ещё не доказывает его полезность?

Ответ

Посмотрите pg_indexes с фильтрами schemaname и tablename. Затем сопоставьте определение индекса с запросом, порядком колонок и планом выполнения.

Запрос:

SELECT indexname, indexdef
FROM pg_indexes
WHERE schemaname = 'public' AND tablename = 'users';

Проверьте уникальность, выражения, частичный предикат и порядок полей. Не создавайте дубликат существующего индекса. Реальный выбор планировщика зависит от статистики и селективности; EXPLAIN ANALYZE выполняет запрос и требует осторожности для изменяющих операций.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее