Postgres,pg_dump版本不匹配问题

3
什么可能导致这种情况?请查看以下错误信息。
pg_dump: server version: 9.6.1; pg_dump version: 9.5.5
pg_dump: aborting because of server version mismatch

然而,当我进行调查时:
peter@Peters-MacBook-Pro:~$ psql --version
psql (PostgreSQL) 9.6.1
peter@Peters-MacBook-Pro:~$ pg_dump --version
pg_dump (PostgreSQL) 9.6.1

两个版本是相等的。 其他命令:
peter@Peters-MacBook-Pro:~$ find / -name pg_dump -type f 2>/dev/null
/Applications/pgAdmin3.app/Contents/SharedSupport/pg_dump
/Applications/Postgres-9.6.1.0-2.app/Contents/Versions/9.6/bin/pg_dump
/Applications/Postgres-9.6.1.0.app/Contents/Versions/9.6/bin/pg_dump
/Applications/Postgres.app/Contents/Versions/9.6/bin/pg_dump

peter@Peters-MacBook-Pro:~$ which postgres
/Applications/Postgres.app/Contents/Versions/latest/bin/postgres

peter@Peters-MacBook-Pro:~$ which pg_dump
/Applications/Postgres.app/Contents/Versions/latest/bin/pg_dump

1
可能是Postgresql 9.2 pg_dump版本不匹配的重复问题。 - vabada
@vabada,我没有/usr/bin/pg_dump文件夹,这似乎是另一个线程中的根本问题。 - Someguywhocodes
你是不是在命令行上自己执行了pg_dump命令,导致出现错误?或者是像pgAdmin这样的其他程序执行的?例如,pgAdmin具有“二进制路径”设置,用于控制它运行的实例。 - Eelke
1
IOS有留下旧版本二进制文件的历史。尝试使用最新版本(可能在与您的Postgres DBMS服务器相同的*/bin/*目录中)。-->>使用绝对路径名调用二进制文件。 - wildplasser
@wildplasser,您能否详细说明一下这个答案?我不太确定如何尝试“最新版本”。 - Someguywhocodes
1个回答

1
答案是运行:

/Applications/Postgres.app/Contents/Versions/latest/bin/pg_dump db_name > db.out

使用的路径来自于查看以下结果:
which postgres
>/Applications/Postgres.app/Contents/Versions/latest/bin/postgres

我随后成功运行了正确版本的 pg_dump


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接