Transfer de baze de date PostgreSQL cu ferestre pe Linux - stiva de preaplin în limba rusă

Timp de câteva zile, nu pot rezolva problema migrației baza de date PostgreSQL de la mașini Windows la Linux. Problema cu codificări.

Versiunea PostgreSQL pe o mașină și Linux Windows. 9.4

Baza de date pe Windows are următorii parametri:

  • Codificare: UTF-8
  • Comparație: Russian_Russian.1251

Tipul de caractere: Russian_Russian.1251

Listă de baze de date

Atunci când încercarea de a crea o bază de date Linux. cu aceiași parametri este dată:

EROARE: codificarea „UTF8“ nu se potrivește cu setările locale „ru_RU.cp1251“ DETALII: Pentru parametrul LC_CTYPE de codificare necesară „WIN1251“ selectat.

Asta este, fie toate ar trebui să fie în UTF-8. sau WIN1251.

Am încercat să creeze o bază de date în care codificarea caracterelor, colaționarea și tipul în UTF-8 și mutați să-l arunce. La suprafata totul este bine, baza este umplut fără erori, dar apoi în timpul lucrului găsit școlile nu pot găsi și valori de captură, în unele locuri.

Întrebare. De ce Windows este normală, atunci când baza de date într-o singură codificare și colaționarea și tipul la altul, și Linux este un păcat teribil?

Și cum să fie în această situație? Cum de a transfera o bază de date de la Windows la Linux, cu acești parametri?

Documentația pentru postgres-au remarcat această caracteristică în secțiunea 22.3. Set de caractere Suport (versiunea 9.2). În 9.4, nimic nu sa schimbat:

O restricție importantă, cu toate acestea, este faptul că setul de caractere fiecare bază de date trebuie să fie compatibile cu LC_CTYPE bazei de date (clasificarea caractere) și LC_COLLATE (șir de ordine de sortare) setările locale. Pentru C sau POSIX locale, orice set de caractere este permis, dar și pentru alte locații există doar un singur set de caractere care va funcționa corect. (Pe Windows, cu toate acestea, codificarea UTF-8 poate fi folosit cu orice localizare.)

Cum datele sunt exportate: pg_dump binar sau format text? Încercați binar, care este redus pg_restore.

De ce nici unul dintre vizitatorii nu citesc stekoverflova orientări standardizate?
Chukchi - nu cititor, Chukchi - un programator?