项目开发过程中使用了postgres,上线时要求切换到postgres的企业版 EDB中。
在使用pg_restore 将postgres导出的备份 恢复到EDB中时,出现了以下错误:
-bash-3.2$ pg_restore –d dbtest /opt/edb.backup
pg_restore: [归档] 在文件头中有不支持的版本 (1.11)
查找原因发现,开发时使用的postgres版本为 postgres (PostgreSQL) 8.4.1。
切换到的EDB 8.4AS中postgres的版本却为 postgres (PostgreSQL) 8.1.18 。
从高版本向低版本导入时,就出现了上述错误。
解决方法:
由于SQL是标准的,所以采用将Postgres导出为SQL,再在EDB中执行的方法。
在Postgres的备份界面选择PLAIN模式即可。