|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Добрый день. Подскажите по переносу БД Postgresql с WIndows на Linix На Windows кодировка: lc_collate: ru1251 lc_ctype: ru1251 lc_messages: ru1251 lc_monetary: ru1251 lc_numeric: ru1251 lc_time: ru1251 server_encoding: utf8 На Linux такую же кодировку (utf8) вместе с lc_collate и lc_ctype ru1251 выставить невозможно - ругается, что несовместимая кодировка и локаль. На сайте pgsql есть заметка: https://www.postgresql.org/docs/9.6/static/multibyte.html An important restriction, however, is that each database's character set must be compatible with the database's LC_CTYPE (character classification) and LC_COLLATE (string sort order) locale settings. For C or POSIX locale, any character set is allowed, but for other locales there is only one character set that will work correctly. (On Windows, however, UTF-8 encoding can be used with any locale.) В случае дампа с Windows на Linux (на Linux пробовал разные сочетания локали/кодировки) дамп встаёт без половины данных. Что можно сделать? Пробовал выгружать через pg_dump --encoding=utf8, но остановил процесс - конвертация, по моим оценкам, займёт пару недель. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2018, 20:44 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Федор Романов, покажите Код: sql 1.
server_encoding слегка намекает, что кластер-то в человеческом utf8. Ну и попробуйте дамп запускать с linux хоста. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2018, 20:50 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Melkij, select datname, datcollate, datctype from pg_database ; Код: plsql 1. 2. 3. 4.
+ SELECT name, setting FROM pg_settings WHERE category ~ 'Locale'; Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:12 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Федор, правильный совет уже прозвучал: MelkijНу и попробуйте дамп запускать с linux хоста. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:21 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Федор Романов, ну, печаль. pg_dump во что упирался? Если в CPU сделайте формат директории для дампа и снимайте в число потоков по числу ядер. -Fd -j число_ядер -Z0 -Z0 чтобы не тратить CPU на сжатие, которое дефолтно для custom и directory форматов включено ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:22 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Павел Лузанов, К сожалению, не помогло. Запустил снятие дампа с Linux Код: python 1.
Получил дамп и залил его: Код: python 1.
Дамп "залился", но половины данных опять нет. Кодировка и локали без изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 13:26 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Melkij, да, в процессор. Спасибо, буду пробовать так, как подсказали! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 13:35 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Федор Романов, Непонятно, конечно. Если подключиться из linux: psql -d main_db -U archuser -h 172.16.5.100 запросы тоже половины данных не показывают (как это выглядит-то)? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 15:06 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Федор РомановДамп "залился", но половины данных опять нет. Кодировка и локали без изменений. Что значит "половины данных нет"? Были ошибки при dump или восстановлении? Вы вообще уверены что это изза кодировки а не что то другое? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 16:25 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Федор Романовдамп встаёт без половины данных. Если хотите получить хороший ответ, то задавайте вопрос конкретно. А то людям приходится гадать, какие данные у вас не встают. Но например, роли и индексы не должны вставать, а вставание некоторых других объектов зависит от ключей командной строки pg_dump, которая у вас довольно куцая. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 20:05 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Коллеги, спасибо за помощь, запустил конвертацию базу в UTF8 и дамп залился. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2018, 00:13 |
|
Перенос Windows - Linix, проблема с кодировкой cp1251-utf8
|
|||
---|---|---|---|
#18+
Досадно, а то я уже нашёл способ настроить на Windows-1251. Впрочем, мне и самому было нужно: только что установил PostgreSQL в Linux (раньше пользовался только в Windows и то мало), поэтому кое-что оказалось неожиданным: почему нельзя задать русскую кодировку своей базы? Оказалось, настройка по умолчанию наследуется от "кластера серверов", откуда попадает в шаблон базы "template1", откуда в новую базу. Но это можно переопределить: Код: plaintext
Здесь шаблон 'template0' в отличие от 'template1' не навязывает кодировку. После чего можно импортировать архив, созданный по pg_dump (или можно добавить в него этот SQL оператор создания базы, если его нет). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2018, 13:09 |
|
|
start [/forum/topic.php?fid=53&msg=39680520&tid=1995650]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 464ms |
0 / 0 |