Я хочу достичь уникальности без учета регистра в столбце varchar.Но в Postgres не существует нечувствительного к регистру типа текстовых данных.Поскольку исходный регистр текста не важен, будет хорошей идеей преобразовать все в строчные / прописные буквы перед вставкой в столбец с ограничением UNIQUE.Кроме того, для быстрого поиска потребуется один ИНДЕКС.
Есть ли в Postgres какой-либо способ манипулировать данными перед вставкой?
Я смотрел на другой вопрос: Как автоматически преобразоватьMySQL столбец в нижний регистр .Он предлагает использовать триггеры при вставке / обновлении в нижний регистр текста или использовать представления с нижним регистром текста.Но ни один из предложенных методов не обеспечивает уникальности.
Кроме того, поскольку эти данные будут считываться / записываться различными приложениями, использование строчных букв в каждом отдельном приложении не является хорошей идеей.