В нескольких сообщениях SO OP запросил эффективный способ поиска текстовых столбцов нечувствительным к регистру образом.
Насколько я понял, наиболее эффективным способом является наличие базы данных с нечувствительной к регистру сортировкой. В моем случае я создаю базу данных с нуля, поэтому у меня есть идеальный контроль над сортировкой БД. Единственная проблема заключается в том, что я понятия не имею, как определить ее и не смог найти ее.
Пожалуйста, покажите мне, как создать базу данных с нечувствительной к регистру сортировкой.
Я использую postgresql 9.2.4.
РЕДАКТИРОВАТЬ 1
Расширение CITEXT
является хорошим решением. Тем не менее, он имеет некоторые ограничения, как описано в документации. Я, конечно, буду использовать его, если не будет лучшего способа.
Я хотел бы подчеркнуть, что я хочу, чтобы ВСЕ операции с строкой были нечувствительны к регистру. Использование CITEXT
для каждого поля TEXT
является одним из способов. Однако использование нечувствительного к регистру сопоставления было бы лучшим, если это вообще возможно.
Теперь https://stackoverflow.com/users/562459/mike-sherrill-catcall говорит, что PostgreSQL использует любые сопоставления, предоставляемые базовой системой. Я не возражаю против того, чтобы ОС отображала нечувствительность к регистру. Единственная проблема, о которой я не знаю, как это сделать.