|
Re: lug-bg: проблем PostgerSQL + локализация bg_BG.cp1251
- Subject: Re: lug-bg: проблем PostgerSQL + локализация bg_BG.cp1251
- From: Zhasmin Zhelev <z@xxxxxxxxxxx>
- Date: Tue, 02 Aug 2005 11:22:14 +0300
- Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
- Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx
Skeleta wrote:
Здравейте,
Имам два компютъра с Debian & PostgreSQL сървар, които малко се
различават (единия е инсталиран 1-2 години по-рано). Въпреки че се
старая да поддържам еднакви параметри, оказа се, че съм допуснал грешка.
На по-древната инсталация съм генерирал базата със стойности на
променливите за описание на локализацията
LC_COLLATE: C
LC_CTYPE: C
а на по новия съответните стойности са:
LC_COLLATE: bg_BG.cp1251
LC_CTYPE: bg_BG.cp1251
Горните стойности ги дава утилитито pg_controldata.
Ефекта е, че на по новия (със bg_BG.cp1251) кирилицата не се сортира
правилно.
В учебника пише, че тези стойности се задават при генериране на
клъстера от бази и не могат да се сменят, а никаква друга разлика не
виждам нито в конфирации, нито на друго място, и на двете места
базите ми се дефинират с енкодинг SQL_ASCII.
Какви съвети ще ми дадете да си оправя сортирането ? Ще може ли да
стане без пускане на нова инициализация на базите и ако не, как да го
направя най-безопасно. Debian-а ми е sarge, postgresql е 7.4
Скелета
Няма да стане без нова инициализация, имах подобен въпрос преди време и
се убедих точно в това. Най безболезнено според мен ще е ако на си
вдигнеш нова база (друга машина?) и с помоща на някакав софтуер (не мога
да ти дам препоръка, досега винаги съм си правил сам такъв за
прехвърляне на данните, структурата можеш лесно да я генерираш) да го
прехвърлиш и после обратно на наново инициализираната база с pg_dump и
pg_restore. Друга идея няма. Не е лесно но е начин.
|
|
|