我正在尝试从一台服务器导出数据库,并使用phpPgAdmin将其放在另一台服务器上。我的过程是这样的:
那是我收到错误的时候:
ERROR: syntax error at or near "OWNED"
LINE 73: ALTER SEQUENCE address_customer_id_seq OWNED BY address.cust...
第73行完整是:
ALTER SEQUENCE address_customer_id_seq OWNED BY address.customer_id;
我读过here可能是因为我的两台服务器上的postgre版本略有不同。所以我检查了服务器技术人员,他说,是的,有这个问题。所以他升级了服务器2.但是我得到了同样的错误。
知道会发生什么事吗?
非常感谢。
答案 0 :(得分:3)
PostgreSQL 8.4不会产生恢复到8.1的转储,因为它将使用8.1中不存在的功能和语法。
你可能能够通过对8.4数据库运行8.1 pg_dump
来降级,但转储最有可能失败。
降级到目前为止将是一个挑战,并且可能涉及手动编辑8.4 pg_dump
生成的转储以使其与8.1兼容。
请参阅the PostgreSQL version policy了解这些版本的不同之处。您可以通过阅读版本8.2.0,8.3.0和8.4.0的release notes了解更多信息。重要的是要了解每个版本中都存在应用程序可见行为更改;您必须测试您的应用程序,可能需要启用一些向后兼容性设置。
您还应阅读upgrading a PostgreSQL cluster文档,但请注意,pg_upgrade
无法使用升级版本低于8.4的版本。
如果您的安装不是过时了七年,那么这一切都会少得多痛苦。