Как выключить case sensetive в postgresql?

Пользователь

от hanna_jacobson , в категории: SQL , 5 месяцев назад

Как выключить case sensetive в postgresql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от sylvester , 5 месяцев назад

@hanna_jacobson 

В PostgreSQL, настройка case sensitivity управляется главным образом с помощью установки collation (сортировки) для базы данных или конкретного столбца.


Если вам нужно выключить case sensitivity для работы с базой данных, вы можете создать базу данных с collation C (локаль "C" или "POSIX" используется для аутентичного и наиболее эффективного сравнения строк в PostgreSQL):

1
CREATE DATABASE mydatabase WITH ENCODING='UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;


Если вам нужно выключить case sensitivity только для конкретного столбца, вы можете изменить его collation на C:

1
ALTER TABLE mytable ALTER COLUMN mycolumn TYPE VARCHAR COLLATE "C";


Обратите внимание, что при выполнении этих операций данные могут быть повреждены или потеряны, поэтому рекомендуется создать резервные копии перед внесением изменений.