Страница 1 из 1

OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 10:59
Ofigenski
Добрый день!

Я сказал и поставил OpenServer 5.2.5 , запустил вместе с последней версией PostgreSQL которая там предустановленна.
Все вроде бы хорошо работает.

Открываю конфиг запущенного PostgreSQL и вижу:
# encoding
# These settings are initialized by initdb, but they can be changed.
lc_messages = 'en_US.UTF-8' # locale for system error message
# strings
lc_monetary = 'Russian_Russia.1251' # locale for monetary formatting
lc_numeric = 'Russian_Russia.1251' # locale for number formatting
lc_time = 'Russian_Russia.1251' # locale for time formatting


А дело вот в чем. Мне через консоль от имени postgres надо запустить SQL файл, он создает роли , базу и т. д.
И в этом файле есть такие строчки:
CREATE DATABASE myname
WITH ENCODING='UTF8'
OWNER=globedrobe_user
LC_COLLATE='ru_RU.UTF-8'
LC_CTYPE='ru_RU.UTF-8'
CONNECTION LIMIT=-1;
И вот при запуске SQL файла в данной ситуации вылетает ошибка про «........ что то там …. ru_RU.UTF-8 … », т. е. не фурычит!

Пробую в когфиге поменять «Russian_Russia.1251» на «Russian_Russia.65001» и OpenServer не запускается, пишет ошибка в PostgreSQL.

Может кто подсказать?

Re: OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 11:06
Максим
В Windows нет русской юникодовской локали.

Re: OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 11:12
Ofigenski
Максим писал(а):В Windows нет русской юникодовской локали.
Спасибо большое за ответ.
А позвольте таких пару вопросов:

То есть ее туда никак нельзя впихнуть?

А если из этого:
CREATE DATABASE myname
WITH ENCODING='UTF8'
OWNER=globedrobe_user
LC_COLLATE='ru_RU.UTF-8'
LC_CTYPE='ru_RU.UTF-8'
CONNECTION LIMIT=-1;

Сделать это:
CREATE DATABASE myname
WITH ENCODING='UTF8'
OWNER=globedrobe_user
CONNECTION LIMIT=-1;

Норм будет?

Re: OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 11:17
Максим
Думаю должно сработать и будет всё ok.

Re: OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 11:24
Ofigenski
Понял.
Максим, спасибо большое за ответы!

Re: OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 11:28
Ofigenski
Максим писал(а):Думаю должно сработать и будет всё ok.

Хотя позвольте еще вопрос.

Вот тут http://open-server.ru/forum/viewtopic.php?t=2161 Вы писали про:

В русской винде к примеру есть такие значения:
LC_ALL=Russian_Russia.65001
LC_COLLATE=Russian_Russia.65001
LC_CTYPE=Russian_Russia.1251
LC_MONETARY=Russian_Russia.65001
LC_NUMERIC=Russian_Russia.65001
LC_TIME=Russian_Russia.65001

Это к моему случаю не применимо?

Re: OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 11:38
Максим
LC_CTYPE не получится, даже в моём сообщении читайте кодировку для LC_CTYPE - Russian_Russia.1251.

В вашем SQL коде такое:
LC_COLLATE='ru_RU.UTF-8'
LC_CTYPE='ru_RU.UTF-8'

Соответственно можете удалить LC_CTYPE, а первую строку попробовать как LC_COLLATE='Russian_Russia.65001'.

Re: OpenServer + PostgreSQL

Добавлено: 11 июл 2016, 11:43
Ofigenski
Да, спасибо, теперь понял.
Благодаря Вам и вот этой строчке:
«В операционной системе Windows нельзя настроить категорию LC_CTYPE для кодировки UTF-8. Это связано с особенностями операционной системы Windows.»