2017-02-04 8 views
2

Я использую pg_restore в Windows 10 с файлом дампа, сделанным в Linux.pg_restore не может выполнить запрос: ERROR: неверное имя локали: «en_US.UTF-8»

I get this error

Я ищу в Интернете, но я не нахожу ответа.

[NEW]: установить Ubuntu на моем компьютере, чтобы использовать pg_restore, но когда я посылаю

pg_restore -d mydatabase /home/user/Documents/dumpfile.dump 

командная строка заблокирована.

У кого-то есть эта проблема?

+3

Создайте новую базу данных в UTF-8 вручную перед восстановлением и используйте параметры pg_restore, которые пропускают создание базы данных. –

ответ

0

Вам нужно будет провести некоторое исследование локалей. Место для начала - documentation.

Postgres полагается на операционную систему для информации о локали. Имена различаются между Posix и Windows. Предположительно, самым простым решением является изменение имени каким-то образом. Возможно, есть способ заставить Windows понять имена Posix.

+0

Это может быть полезно: [имена локалей Windows] (https://msdn.microsoft.com/en-us/library/windows/desktop/dd373814 (v = vs.85) .aspx), хотя некоторые имена типа " Spanish_Spain.1252 ', которые являются * не * двухбуквенными кодами и разделены * не * тире (но выделено выделение) и 1252 (что означает кодировку Windows-1252 *). – joanolo