powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Изучаю 8.3 beta3... Вопросы про локаль.
3 сообщений из 3, страница 1 из 1
Изучаю 8.3 beta3... Вопросы про локаль.
    #34959722
msk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
msk
Гость
После установки попытался сделать initdb с опцией -E WIN.
В результате был послан нах, т.к. системная локаль - UTF8.
Танцы с бубном меня привели к решению в виде LANG=C initdb -E WIN
Всё прошло успешно, по psql -l базы в cp1251.
Всё бы хорошо, но мне потребовалось совмещать базы cp1251 и UTF8.
Пытаюсь создать базу
createdb test -E UTF8
в ответ получаю
createdb: database creation failed: ERROR: encoding UTF8 does not match server's locale ru_RU.cp1251
DETAIL: The server's LC_CTYPE setting requires encoding WIN1251.
Проверяю, вся локаль - en_US.UTF-8
Порылся в доках , нашел:
Important: On most modern operating systems, PostgreSQL can determine which character set is implied by an LC_CTYPE setting, and it will enforce that only the correct database encoding is used. On older systems it is your responsibility to ensure that you use the encoding expected by the locale you have selected. A mistake in this area is likely to lead to strange misbehavior of locale-dependent operations such as sorting.

PostgreSQL will allow superusers to create databases with SQL_ASCII encoding even when LC_CTYPE is not C or POSIX. As noted above, SQL_ASCII does not enforce that the data stored in the database has any particular encoding, and so this choice poses risks of locale-dependent misbehavior. Using this combination of settings is deprecated and may someday be forbidden altogether.
Т.е. это что получается - использовать БД с разными кодировками в 8.3 не получится?
Или можно, но как?
P.S.
На продакшене пока использую 8.1, может с 8.2 есть такая же заморочка - не знаю...
...
Рейтинг: 0 / 0
Изучаю 8.3 beta3... Вопросы про локаль.
    #34959856
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mskТ.е. это что получается - использовать БД с разными кодировками в 8.3 не получится?это же никогда нельзя было. сортировка на сервере зависит от текущей локали серверного процесса, а она соответственно общая для всех баз. можно запустить отдельный сервер на другом порту с другой локалью и кодировкой и другим каталогом баз, только зачем ? лучше имхо сделать кодировку сервера utf-8 а на клиенте - выставлять нужную клиенту кодировку через set names 'windows-1251' например или set names 'koi8-r'; если нужно что бы от клиента/на клиента шла другая, не серверная кодировка.

ps: фича - в 8.2 с кодировкой utf-8 не работают регулярные выражения, а в 8.1 с кодировкой utf-8 будут проблемы как с регулярными выражениями так и с ilike. upper/lower работают хорошо и там и там.


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
Изучаю 8.3 beta3... Вопросы про локаль.
    #34993116
GreyCardinal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 8.3 beta4 локаль исправлена с виду
у меня вообще UTF8 в 8.3 beta3 не ставилась как по дефолту на сервер
теперь прокатило
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Изучаю 8.3 beta3... Вопросы про локаль.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]