将数据从9.1.7版本postgres文件恢复到8.4版本postgres
我想从postgres文件恢复数据。我有一个文件,当我在记事本中打开文件时,该文件的版本是9.1.7 PostgreSQL,并且该文件包含所有表结构和数据库,但文件没有扩展名。我想将文件中的所有表结构和数据恢复到我的PostgreSQL 8.4版本数据库,因为我的项目基于PostgreSQL 8.4版本。将数据从9.1.7版本postgres文件恢复到8.4版本postgres
我该怎么做?
重新指定文件类型:如果以“PGDMP”开头,则它是PostgreSQL自定义格式转储,必须使用pg_restore
命令进行恢复。否则,它很可能是一个普通的SQL转储,并且在开始时会有这样的评论。
较新的PostgreSQL的转储不会恢复到较旧的PostgreSQL版本。你必须要么你的项目升级到9.1(你为什么要使用这样的老版本8.4的新工作呢?)或:
- 安装PostgreSQL 9.1
- 转储恢复到PostgreSQL 9.1
- 使用PostgreSQL 8.4的
pg_dump
转储9.1数据库 - 恢复的结果到您的数据库8.4
都显得太硬?然后将您的项目升级到最新版本。降级主要版本之间的PostgreSQL并不真正支持或推荐。
BTW,始终显示错误消息确切文本,而非描述你在记事本中看到,请向我们展示了一些太所以我们可以清楚地看到那里的东西,不只是你一个什么样的存在解释。
现在我安装postgresSQL 9.1,但是当我尝试恢复文件时,它会产生错误,“这是文本文件愚蠢”。 – 2013-05-07 10:28:08
@HarmeetSingh这不是PostgreSQL产生的错误。请显示*完整的确切错误消息文本*以及您如何运行恢复。如果您正在翻译其他语言,请随时展示原始未翻译的错误,那么对我进行反向翻译比猜测错误的真实性更容易。 – 2013-05-07 10:30:20
错误是“C:/ Program Files/PostgreSQL/9.2/bin \ pg_restore.exe --host localhost --port 5432 --username”postgres“--dbname”old_qrata“--no-password --list” C:\ Users \ Nanaksar \ Desktop \ Qrata PPT \ old_qrata_db_bckup“ pg_restore:[archiver]输入文件看起来是文本格式转储请使用psql 进程返回退出代码1.”但Manullay我已经做了导入da数据。 – 2013-05-07 12:32:25
你到目前为止尝试了什么?你使用pg_restore或psql有什么错误? – 2013-05-07 09:43:56
当我尝试打开文件像SQL脚本时,它会生成一个错误时惰性表中的数据。 – 2013-05-07 09:55:18