2012-05-28 2 views
18

Пытается восстановить резервную копию базы данных, выполненную с помощью героя pgbackups -tool.Heroku pgbackups: ошибки синтаксиса при восстановлении локального хоста

загрузить резервную копию, подвергнув URL:

$ heroku pgbackups:url 'backup-name' 

Создано дб с:

$ createdb 'dbname' -U postgres 

И пытался восстановить из * .dump файла:

$ psql -U postgres -d 'dbname' -f *.dump 

Я в конечном итоге с следующие виды синтаксических ошибок:

ERROR: syntax error at or near "PGDMP" 
... 
ERROR: invalid byte sequence for encoding "UTF8": 0x9d 
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding" 

Итак, это как-то связано с кодировкой, но как я ее решаю?

Оба config/application.rb и мой сервер postgres имеют кодировку, установленную в UTF-8. database.yml имеет настроенный sqlite (не затрагивает конфигурацию производства). Gemfile имеет просто:

gem 'pg' 

ответ

53

Я нашел ответ directly from the manual:

$ curl -o latest.dump `heroku pgbackups:url` 

$ pg_restore --verbose --clean --no-acl --no-owner -h myhost -U myuser -d mydb latest.dump 
+1

Awesome! Благодарю. – lucianosousa

Смежные вопросы