powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / utf-8, переход на 8.1.4
3 сообщений из 3, страница 1 из 1
utf-8, переход на 8.1.4
    #34700569
Rastafarra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
день добрый

при переходе с 8.0 на 8.1.4 есть проблема.

цитата: Some users are having problems loading UTF-8 data into 8.1.X. This is because previous versions allowed invalid UTF-8 byte sequences to be entered into the database, and this release properly accepts only valid UTF-8 sequences. One way to correct a dumpfile is to run the command iconv -c -f UTF-8 -t UTF-8 -o cleanfile.sql dumpfile.sql. The -c option removes invalid character sequences. A diff of the two files will show the sequences that are invalid. iconv reads the entire input file into memory so it might be necessary to use split to break up the dump into multiple smaller files for processing.

отлично. на сколько я понял это если получить пачку инсертов как плаин текст. тут появляются другие проблемы: большая база отказывается выгружаться как текст, требуя выбрать другой формат. делаю бэкап с -Ft. tar просто прогнать через iconv нельзя, поэтому разархивировал его, find ./ -exec iconv сделал. обратно собрать так, чтобы pg_restore не ругался не получилось, пришлось сделать ls | cat | psql databasename. после 15 часов работы ничего не поменялось :)

select * from table1 where lower(field[1]) like 'test' отваливается так:

ERROR: invalid byte sequence for encoding "UTF 8"

отваливается только на запросах с lower/upper к таблицам с массивами в полях, в остальном работает вроде нормально.

сталкивался кто? как решали?
...
Рейтинг: 0 / 0
utf-8, переход на 8.1.4
    #34748185
the dot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сам сейчас бьюсь с этой же проблемой
...
Рейтинг: 0 / 0
utf-8, переход на 8.1.4
    #34748355
Rastafarra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я торжественно переехал. правда не без косяков, но вроде бы уже все убрал.

делал так: опытной путей выяснил, что у меня ломается только в тех местах, где есть массивы с русскими буквами (и только!). таких таблиц оказалось не много. выгрузил из как insert-ы. посмотрел, и ничего лучше как vim-ом прогнать через регэксп, которые делает кошерный инсерт, не придумал. на раздумывание ушло где-то часа 2 + 3-4 бутылки пива. итог: база переехала на 8.2.4 с небольшимы огворками. почему-то у меня отработал регэксп кривовато, и некоторые записи создались как трижды вложенный массив :)
+ в некоторых местах послетали foreign key, но их было не много.
наши пользователи по обнаружению багов это дело поправили, либо отрапортовали. из ~500000 тысяч у меня отвалилось ~300 записей в таблице.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / utf-8, переход на 8.1.4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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