微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

POSTGRESQL 9.1备份并恢复到8.4

我正在尝试将我在本地开发的数据库上传到我们的开发服务器中.

我在我的机器上安装了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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐