Встречается на собеседованиях • сегодня

В каких случаях PostgreSQL может автоматически создавать индекс

PostgreSQL автоматически создаёт индексы в следующих случаях:

  1. PRIMARY KEY – при создании первичного ключа автоматически генерируется уникальный B-дерево индекс.

    sql
    CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT);
    -- Создаётся индекс users_pkey
  2. UNIQUE constraint – для обеспечения уникальности поля создаётся уникальный индекс.

    sql
    CREATE TABLE products (sku TEXT UNIQUE);
    -- Создаётся индекс products_sku_key
  1. EXCLUDE constraint – при использовании исключающих ограничений (редкий случай).

Важно:

  • Имена индексов генерируются автоматически (например, tablename_columnname_key).
  • Для FOREIGN KEY индексы не создаются автоматически – их нужно добавлять вручную для оптимизации JOIN.
  • Поведение может зависеть от версии PostgreSQL (например, в некоторых случаях для EXCLUDE).

Пример проверки созданных индексов:

sql
SELECT indexname FROM pg_indexes WHERE tablename = 'users';
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы