加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

POSTGRESQL 9.1备份并恢复到8.4

发布时间:2020-12-13 16:05:33 所属栏目:百科 来源:网络整理
导读:我正在尝试将我在本地开发的数据库上传到我们的开发服务器中. 我在我的机器上安装了PostgreSQL 9.1,开发服务器使用8.4. 尝试使用9.1创建的转储文件将数据库恢复到8.4时,我收到错误: pg_restore: [archiver (db)] could not execute query: ERROR: syntax er
我正在尝试将我在本地开发的数据库上传到我们的开发服务器中.

我在我的机器上安装了PostgreSQL 9.1,开发服务器使用8.4.

尝试使用9.1创建的转储文件将数据库恢复到8.4时,我收到错误:

pg_restore: [archiver (db)] could not execute query: ERROR:  syntax error at or near "EXTENSION"
LINE 1: CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalo...

并且快速研究告诉我在9.1之前不存在“扩展”.

我不太确定我应该在pg_dump中寻找一个忽略“扩展”的选项,因为我试图上传的数据库依赖于大多数数据的PostGIS扩展.

虽然升级开发服务器并在开发服务器中安装PostGIS是一个选项,但我想知道一个不同的路由,其中??我不需要在服务器上编辑任何内容,同时保持我开发的数据库的功能.

当然其他的变通方法受到欢迎,我将数据库上传到服务器的唯一目的是减少每当我需要为我们的团队部署一些东西时我必须对项目进行的重新配置.

解决方法

向后移植数据库可能既痛苦又困难.

您可以尝试使用8.4的pg_dump来转储它,但它可能会失败.

您可能希望从–schema-only转储文本文件中提取表和函数定义,手动将它们加载到旧DB中,然后执行pg_dump –data-only并将其还原以导入数据.

之后,如果您要继续使用您的计算机,请安装PostgreSQL 8.4并将其用于进一步开发,这样您就不会引入更多不兼容性,因此很容易移动转储.

在你的位置,我只是将过时的目标服务器升级到9.1.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读