Fdr*_*Fdr 18 postgresql heroku ruby-on-rails-3
尝试恢复使用heroku pgbackups -tool进行的数据库备份.
我通过公开网址下载备份:
$ heroku pgbackups:url 'backup-name'
Run Code Online (Sandbox Code Playgroud)
创建数据库:
$ createdb 'dbname' -U postgres
Run Code Online (Sandbox Code Playgroud)
并尝试从*.dump文件恢复:
$ psql -U postgres -d 'dbname' -f *.dump
Run Code Online (Sandbox Code Playgroud)
我最终遇到了以下类型的语法错误:
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"
Run Code Online (Sandbox Code Playgroud)
好的,所以这与编码有关 - 但是我如何解决?
config/application.rb和我的postgres服务器都将编码设置为UTF-8.database.yml配置了sqlite(尚未涉及生产配置).Gemfile简单地说:
gem 'pg'
Run Code Online (Sandbox Code Playgroud)
Fdr*_*Fdr 53
我直接从手册中找到了答案:
$ curl -o latest.dump `heroku pgbackups:url`
$ pg_restore --verbose --clean --no-acl --no-owner -h myhost -U myuser -d mydb latest.dump
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4438 次 |
| 最近记录: |