尝试恢复使用 heroku pgbackups -tool 制作的数据库备份。
我通过公开网址下载备份:
$ 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'