powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Смена кодировки в существующей базе
10 сообщений из 10, страница 1 из 1
Смена кодировки в существующей базе
    #32977006
Вопрос в заголовке: Можно ли сменить кодировку, не пересоздавая базу? просто неправильная сортировка русских букв обнаружилась уже после того, как в базу было залито 10Гб данных. Я допускаю, что после изменения кодировки (если таковое возможно) существующие русские строки перестанут быть читаемыми - это не важно в данном случае. Интересует сама возможность этого.
Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32979713
centur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде как нельзя... в 7.4
в 8.0 - хз, не помню, вроде заявлена мультикодировка кластера, но сам не щупал
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32979817
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
centurвроде как нельзя... в 7.4
в 8.0 - хз, не помню, вроде заявлена мультикодировка кластера, но сам не щупал
поскольку сортировка зависит от локали (точнее LC_COLLATE) фиксируемой во время initdb - новые базы будут неправильно сортироваться, как их не создавай. Про это ясно написано в Chapter 20. Localization.

Можно попробовать на тестовом сервере создать новый кластер с нужной локалью и подменить global/pg_control. Но на рабочем сервере (IMHO) так рисковать не стоит.
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32979867
centur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2фффф Это в 8.0 ?

2Скрябин - можешь перелить всю базу в дамп, переинициализировать кластер а потом указав другой клиент_енкодинг - залить в новый - и сортировка будет в нужной кодировке и база будет читаема.
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32979954
автор2Скрябин - можешь перелить всю базу в дамп, переинициализировать кластер а потом указав другой клиент_енкодинг - залить в новый - и сортировка будет в нужной кодировке и база будет читаема.

Спасибо, но такой вариант не подойдет.. на дамп уйдет день, если не больше.. Придется мириться с текущей кодировкой...

Вообще, я думал, что кодировка Win - это самая подходящая кодировка для русского языка. оказалось, что это не так...
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32980070
Hordi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может чем поможет... Кодировка базы указана в поле pg_database.encoding. Также можно попробовать установить перекодировку на лету: SET ENCODING TO '???';
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32980086
Hordi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сори, ошибся: SET CLIENT_ENCODING TO '???';
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32980623
maddcast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не поможет
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32985453
Licvidator_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А ежели попробовать все текстовые поля в базе переконвертить в другую кодировку?

Тынц, смотри convert в табл 9.6 и аргументы в 9.8

Я так понимаю, это будет долго, но раз надо...
...
Рейтинг: 0 / 0
Смена кодировки в существующей базе
    #32996244
Vzhik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрябин Дмитрий

Вообще, я думал, что кодировка Win - это самая подходящая кодировка для русского языка. оказалось, что это не так...

а что с ней не так? я тест базу ставил как раз под win - все фурычит и сортировка тоже... (pg 8.0)

вот unicode чегото у меня не запахала...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Смена кодировки в существующей базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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