Man*_*rer 1 postgresql pg-dump postgresql-10
我正在尝试从Amazon RDS转储Postgres数据库,我最近更新到10.1.为此,我pg_dump从entrepreneedb.com(http://get.enterprisedb.com/postgresql/postgresql-10.1-1-linux-x64-binaries.tar.gz)下载10.1,但当我尝试使用它时,我得到了以下错误:
pg_dump: server version: 10.1; pg_dump version: 10.1
pg_dump: aborting because of server version mismatch
Run Code Online (Sandbox Code Playgroud)
这在RDS版本9.6和我使用pg_dump9.6(从同一位置下载)之前工作正常.
我尝试了更新版本的pg_dump(10.2和10.3),但得到了同样的错误(这是有道理的,因为那些较新的版本实际上与RDS版本不匹配).
我还检查了pg_dump我的服务器上没有安装其他设备(Ubuntu 15.04 - 我知道我应该更新......等待18.04),找到一个并删除它,但得到同样的错误.
这可能是什么问题?
首先,pg_dump与旧版本的服务器完美配合.在这种情况下,您将看到如下行:
-- Dumped from database version 9.6.6
-- Dumped by pg_dump version 10.1
Run Code Online (Sandbox Code Playgroud)
另外,pg_dump版本,比如10.0,应该适用于服务器版本10.1及更高版本的10.*branch - 所以次要版本不应该是问题.在pg_dump的源代码中查看此评论:https://github.com/postgres/postgres/blob/REL_10_STABLE/src/bin/pg_dump/pg_dump.c#L668
/*
* We allow the server to be back to 8.0, and up to any minor release of
* our own major version. (See also version check in pg_dumpall.c.)
*/
Run Code Online (Sandbox Code Playgroud)
在您的情况下,问题可能是由以下方面之一引起的:
无论如何,您提供的错误消息说10.1和10.1不匹配 - 这根本不正常.肯定存在一个错误,但在哪里并不明显.
我会尝试以下步骤.
1)使用官方(社区支持)pg_dump.在Ubuntu上,您只需使用官方软件包安装"postgresql-client-10":
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y postgresql-client-10
Run Code Online (Sandbox Code Playgroud)
2)如果上一步没有帮助,请尝试联系AWS支持,要求他们仔细检查此问题.
3)最后,尝试重现你的Ubuntu机器上安装的vanilla Postgres的问题,如果它仍然存在,它肯定需要报告为一个bug https://www.postgresql.org/docs/10/static/bug-reporting html的
| 归档时间: |
|
| 查看次数: |
3637 次 |
| 最近记录: |