Поиск/индексирование по всем полям всех таблиц
Есть база Postgres, а над ней создан интерфейс, который позволяет все таблицы фильтровать по любым полям разными операторами (например, =, >, <, содержит, начинается и т.д. (набор для каждого поля зависит от его типа)).
Есть ли в Postgres механизмы для поиска по любой комбинации условий/полей?
Индексировать каждое поле (или общий составной gin/gist) - не особо вариант, так как есть вполне большие таблицы с большим количеством столбцов, и каждый индекс в районе 1ГБ выходит. Да и накладно всё это получается при операциях записи. Полнотекстовый, наверное, здесь не очень подходит, так как фильтрация может быть и достаточно простая, типа по числу, булеву и т.д. Да и нет тут задачи именно в текстовом поиске. Скорее, конкретные значения (или их наличие внутри). Если сторонний механизм, то хочется, чтобы он был настолько интегрирован, чтобы обычный sql из любого источника использовал этот механизм для поиска.
Поделитесь, пожалуйста, какие есть варианты, чтобы можно было быстро (желательно, нативным sql) фильтровать таблицы по любой комбинации условий по любым полям.
Спасибо!
