PostgreSQL уникальные индексы и строковый регистр - PullRequest
15 голосов
/ 08 ноября 2010

Если я создаю уникальный индекс PostgreSQL для поля, будет ли сравнение по умолчанию нечувствительным к регистру?

Если нет, можно ли попросить PostgreSQL игнорировать регистр строк?

Ответы [ 3 ]

25 голосов
/ 08 ноября 2010

PostgreSQL чувствителен к регистру.Чтобы сделать то, что вы хотите, создать индекс функции.Скажем,

CREATE UNIQUE INDEX test_upper_idx ON mytable (UPPER(myfield));

Таким образом, когда вы используете UPPER(myfield) в своем запросе, индекс будет использоваться.

См. Эту ссылку

2 голосов
/ 08 ноября 2010
CREATE UNIQUE INDEX ux_table_field ON mytable(UPPER(field))
0 голосов
/ 08 ноября 2010

вы должны быть в состоянии создать индекс на основе функции. (используйте UPPER поля)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...