pg_dump 9.0到pg_restore 8.3

时间:2011-04-04 07:45:57

标签: postgresql backup restore

是否可以指示9.0的pg_dump提供向后兼容的转储,或强制pg_restore为8.3来处理该转储?

换句话说,在使用pg_restore 8.3恢复使用9.0进行转储时解决此错误有哪些选择:

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

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

1 个答案:

答案 0 :(得分:13)

创建纯文本转储:

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

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