我有一个运行PostgreSQL v9.0的(生产)DB服务器和一个运行PostgreSQL v8.4的开发机器。我想将生产DB的转储文件导入到开发机器上使用。我不能升级dev机器上的postgres。
在生产机器上,我运行:
pg_dump -f nvdls.db -F p -U nvdladmin nvdlstats
在开发机器上,我运行:
pg_restore -d nvdlstats -U nvdladmin nvdls.db
我遇到了这个错误:
pg_restore: [archiver] unsupported version (1.12) in file header
无论我选择何种方式(自定义、tar 或 plain_text 格式)进行转储,都会出现这种情况。
我在网上找到了一个讨论,建议在开发机器上使用更新版本的
pg_restore
。我试图通过将 9.0 二进制文件简单地复制到开发机器上来实现这一点,但由于链接问题而失败(预料之中)。我认为使用纯文本转储的重点是它应该是原始的、可移植的 SQL。显然不是这样。
如何将 9.0 数据库导入到我的 8.4 安装中?