Pobrałem najnowszą kopię mojej bazy danych Heroku zPostgres przywrócić z .dump pliku: nieprawidłowy sekwencji bajtów do kodowania „UTF8”
$ curl -o latest.dump `heroku pg:backups public-url --app myapp`
a to daje plik z następującego typu na moim komputerze lokalnym :
$ file db/latest.dump
db/latest.dump: PostgreSQL custom database dump - v1.12-0
Próbuję zaimportować to do mojego lokalnego Postgres DB (my_db) za pomocą psql. Jednak otrzymuję wiele błędów:
$ psql my_db < db/latest.dump
...
psql:db/latest.dump:119425: invalid command \?A~??ܣb?{#?+????LS??
psql:db/latest.dump:119426: invalid command \D%!ѡ/F??g????A???dC????|2?M?$?8GTJ??c?E?;??֛Sh??S?[NP?f?2?+H?W????k
... [thousands of lines]
psql:db/latest.dump:261719: ERROR: invalid byte sequence for encoding "UTF8": 0xba
Komenda psql -f db/latest.dump my_db
nie działa w ten sam sposób.
Co należy zrobić, aby zaimportować ten plik lokalnie do nowej bazy danych o tym samym schemacie itp.?
Nie sądzę, można użyć pliku kopii zapasowej z 'psql': the Heroku„[plik kopii zapasowej wykorzystuje opcję formatu niestandardowego w ' pg_dump'] (https://devcenter.heroku.com/articles/heroku-postgres-import-export#export) ", a" [zrzut niestandardowego formatu nie jest skryptem dla 'psql', ale zamiast tego musi zostać przywrócony z 'pg_restore'] (http://www.postgresql.org/docs/9.1/static/backup-dump.html#BACKUP-DUMP-LARGE)". – matt
BTW, jeśli byłeś na aktualnej wersji PostgreSQL, 'psql' powiedziałby ci, że próbujesz przywrócić zrzut w formacie niestandardowym i powinien użyć' pg_restore'. –
@CraigRinger, gdzie by to powiedział? Używam 9.4 i nie widziałem tego. – tyler