2012-05-28 18 views
18

intentando restaurar la copia de seguridad de la base de datos hecha con heroku pgbackups -tool.pgbackups de Heroku: errores de sintaxis en restore de localhost

descargo de copia de seguridad mediante la exposición de url:

$ heroku pgbackups:url 'backup-name' 

Creado db con:

$ createdb 'dbname' -U postgres 

Y trató de restaurar desde el archivo * .dump:

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

termino con siguiente tipo de errores de sintaxis:

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" 

Ok, esto tiene algo que ver con la codificación, pero ¿cómo lo resuelvo?

Tanto config/application.rb como mi servidor postgres tienen la codificación establecida en UTF-8. database.yml tiene sqlite configurado (no ha tocado en la configuración de producción). Gemfile tiene simplemente:

gem 'pg' 

Respuesta

53

he encontrado la respuesta 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

impresionante! Gracias. – lucianosousa

Cuestiones relacionadas