postgresql - pg_dump 9.0 到 pg_restore 8.3

标签 postgresql backup restore

是否可以指示 9.0 的 pg_dump 提供向后兼容的转储,或者强制 8.3 的 pg_restore 使用该转储?

换句话说,在使用 pg_restore 8.3 恢复由 9.0 生成的转储时,我有哪些解决此错误的选项:

pg_restore: [archiver] unsupported version (1.12) in file header

此转储/恢复版本冲突的可能注意事项是什么?

最佳答案

创建纯文本转储:

pg_dump mydb > db.sql
psql -d newdb -f db.sql

这应该可以正常工作,因为它不存储版本信息,并且在转储中使用纯 SQL 格式。使用 COPY 恢复数据,因此速度很快。如果您在数据库中使用了一些 9.0 功能,那么您必须手动编辑转储中的架构以使其在 8.3 上运行。然而,Blob 可能无法在这种格式下存活下来;我没有测试过)。

关于postgresql - pg_dump 9.0 到 pg_restore 8.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5535809/

相关文章:

python - 为什么 PostgreSQL 适配器 psycopg2 在 Google App Engine dev_appserver.py 中失败?

sql - 如何对 string_agg() 的结果进行排序

file - 从名称节点和数据节点文件恢复 Hadoop

linux - 如何使用命令获取替换该文件的文件的备份

PostgreSQL - 如何恢复非常大的数据库

mysql - 创建备份和恢复所在vb.net中的可执行路径

postgresql - PostgreSQL 中 Bit 和 Boolean 数据类型的区别

postgresql - Joda DateTime 到 java.sql.Timestamp 忽略时区?

backup - mysqldump 命令复制 MySQL 管理员创建的备份

shell - 存储 shell 脚本密码的最佳方法是什么?