LINUX.ORG.RU

[postgresql] createdb


0

0

Как победить такое:

$ psql -l
Список баз данных
Имя | Владелец | Кодировка
------------------+------------------+--------------------
xxx1 | pgsql | KOI8
xxx2 | pgsql | KOI8
postgres | pgsql | KOI8
template0 | pgsql | KOI8
template1 | pgsql | KOI8


$ createdb -E UTF-8 xxx3
createdb: создание базы данных не удалось: ERROR: encoding UTF8 does not match server's locale ru_RU.KOI8-R
ПОДРОБНО: The server's LC_CTYPE setting requires encoding KOI8.


Нужно создать базу в UTF8 при этом не трогая существующие базы.
Базы xxx1 и xxx2 перекодировать нельзя - их использует софт который менять нельзя. Есть какие-то идеи ? Думал создать хранилище в UTF8 и создать старые базы в KOI8R но это то-же не прокатывает.


$ createdb --encoding=KOI8R new_db
createdb: создание базы данных не удалось: ERROR: encoding KOI8 does not match server's locale ru_RU.UTF-8
DETAIL: The server's LC_CTYPE setting requires encoding UTF8.

anonymous

Ответ на: Re: [postgresql] createdb от anonymous

Re: [postgresql] createdb

Я читал уже эту страницу. То что там приведено:

initdb -D /usr/local/pgsql/data --locale=ru_RU.UTF-8
createdb --encoding=win1251 windoze


не работает, я показал это выше.

anonymous ()

Re: [postgresql] createdb

похоже нужно копать в сторону
1) создания бекапа баз
2) создания хранилища и баз в UTF8
3) вливания бекапа
4) привязывания кодировки к пользователю базы:

alter role windows_user set client_encoding to 'WINDOWS-1251';

anonymous ()

Re: [postgresql] createdb

> createdb: создание базы данных не удалось: ERROR: encoding UTF8 does not match server's locale ru_RU.KOI8-R

> Нужно создать базу в UTF8 при этом не трогая существующие базы.

Это невозможно. в PostgreSQL пока поддерживается только общая для всех баз кластера кодировка. Это связано с общей для всех баз кластера локалью, кодировка должна совпадать с локалью, иначе небудут работать строковые функции сортировки, и т.п.

Eshkin_kot ★★ ()
Ответ на: Re: [postgresql] createdb от Eshkin_kot

Re: [postgresql] createdb

> Это невозможно. в PostgreSQL пока поддерживается только общая для всех баз кластера кодировка. Это связано с общей для всех баз кластера локалью, кодировка должна совпадать с локалью, иначе небудут работать строковые функции сортировки, и т.п.
И после этого люди будут говорит ещё что "мускуль сасёт"??

UVV ★★★★★ ()
Ответ на: Re: [postgresql] createdb от UVV

Re: [postgresql] createdb

> И после этого люди будут говорит ещё что "мускуль сасёт"??

Вы хотите поговорить об этом ? :)

Eshkin_kot ★★ ()
Ответ на: Re: [postgresql] createdb от UVV

Re: [postgresql] createdb

>И после этого люди будут говорит ещё что "мускуль сасёт"??

Кодировок отличных от UTF не существует. Зачем же отягощать код поддержкой несуществующего?

Absurd ★★★ ()
Ответ на: Re: [postgresql] createdb от Absurd

Re: [postgresql] createdb

> Кодировок отличных от UTF не существует. Зачем же отягощать код поддержкой несуществующего?

а вот и абсурд в тред пожаловал. доброго здрваичка!

ps: базе уже больше 10ти лет, объёмы - хомписюк "критика" на поддержку упсы не потянет. обвязки вокруг базы - вы столько на порядКИ не видели, не то что писали. и что дальше? всё ломать? чудный совет. спасибо огромное. стена в направлении северо-северо-запад.

// wbr

klalafuda ★☆☆ ()

Re: [postgresql] createdb

locale --all-locales

alfss ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.