Трансфер PostgreSQL база данни с прозорци Linux - стек преливане на Руски

В продължение на няколко дни не мога да се реши проблема с миграцията на базата данни PostgreSQL от Windows машини за Linux. Проблемът с кодировки.

PostgreSQL версия на една машина и Linux Windows. 9.4

База данни на Windows е със следните параметри:

  • Encoding: UTF-8
  • Сравнение: Russian_Russian.1251

тип Character: Russian_Russian.1251

Списък на бази данни

Когато се опитвате да се създаде база данни Linux. със същите параметри се дава:

ГРЕШКА: кодиране "UTF8" не съвпада с локала "ru_RU.cp1251" Настройките на: За избрания параметър LC_CTYPE изисква кодиране "WIN1251".

Това означава, че или всички трябва да е в UTF-8. или WIN1251.

Опитах се да се създаде база данни, където се кодиране, съпоставянето и вида на UTF-8 и да се премести, за да го зареже. На пръв поглед всичко е наред, базата е запълнена, без грешки, но след това по време на работата създават училища не могат да намерят и ценности за улов на някои места.

Въпрос. Защо Windows е нормално, когато базата данни в една кодиране, и съпоставяне и вида на друг, както и да Linux е ужасен грях?

И как да бъде в тази ситуация? Как да прехвърля на база данни от Windows към Linux с тези параметри?

Документацията за Postgres-отбелязахме тази функция сред вписванията 22.3. Character Set Support (версия 9.2). В 9.4, нищо не се е променило:

Важна ограничение, обаче, е, че набор от символи всяка база данни трябва да бъде съвместимо с LC_CTYPE на базата данни (класификация характер) и LC_COLLATE (низ подредени) настройките на локала. За C или POSIX локал, който и да е набор от символи, е разрешено, но за други локали има само един набор от символи, който ще работи правилно. (В Windows, обаче, UTF-8 кодиране може да се използва с всеки локал.)

Как се изнася данни: Binary pg_dump или текстов формат? Опитайте двоичен, която е намалена pg_restore.

Защо никой от гостите не чета stekoverflova стандартизирани насоки?
Чукотско - не на читателя, Чукотско - програмист?