Dog*_*kci 2 django postgresql database-restore heroku-postgres
我正在使用Django和Heroku Postgreql.我在默认数据库设置上使用英语和土耳其语.我的数据库在本地和Heroku上都没有问题.但是,当我尝试将db从本地转储并恢复到生产时,我收到错误.
psql -U user -d db_name -f "b003.dump"
psql:b003.dump:270: ERROR: invalid byte sequence for encoding "UTF8": 0xa3
Run Code Online (Sandbox Code Playgroud)
您的文件b003.dump不是UTF-8编码.
您需要覆盖编码设置,为文件指定正确的文本编码.
如果它有土耳其文本,它可能是iso-8859-9,尽管在许多ISO-8859编码中0xa3是英镑符号(£).
尝试:
PGCLIENTENCODING="iso-8859-9" psql ....
Run Code Online (Sandbox Code Playgroud)
我还建议检查locale命令的输出以查看系统默认编码是什么,以及file -bi b003.dump尝试猜测编码.
file输出您的文件不是SQL脚本样式转储.它是一个PostgreSQL自定义数据库转储.这就是为什么file说:
b003.dump: PostgreSQL custom database dump - v1.12-0
Run Code Online (Sandbox Code Playgroud)
使用该pg_restore命令恢复它.
pg_restore -f b003.dump -d db_name -U user
Run Code Online (Sandbox Code Playgroud)
在某些时候我想要增强,psql所以它告诉你这个,而不是失败的错误.
这里奇怪的是,如果这是一个自定义转储,你必须在之前显示的错误之前有很多错误.
| 归档时间: |
|
| 查看次数: |
2439 次 |
| 最近记录: |