Планировщик PostgreSQL решает, что Seq Scan дешевле — если таблица маленькая, селективность низкая или статистика устаревшая. Запусти ANALYZE для обновления статистики. Проверь, совпадает ли тип данных в запросе с типом колонки. Функция в WHERE может убить индекс — используй functional index. Если LIKE с % в начале — нужен trigram индекс. OR условия иногда не используют индекс — перепиши на UNION.