Bucardo 显示错误的 postgres 版本
Posted
技术标签:
【中文标题】Bucardo 显示错误的 postgres 版本【英文标题】:Bucardo shows wrong postgres version 【发布时间】:2018-01-06 04:01:26 【问题描述】:我正在安装 Bucardo 以在 openSUSE Leap 42.3 上复制我的 Postgres 服务器 (10.1),并且我已经成功编译了 Bucardo 的可执行文件。当我尝试bucardo install
并将参数修改为:
host:<none>
port:5432
user:aSuperUser
database:bucardo
piddir:/tmp/bucardo (already created)
Bucardo 说:Postgres version is 4.8. Bucardo requires 8.1 or higher.
这怎么会发生?我安装了 postgres 10,而不是 4.8。我还通过select version();
验证了版本,我的机器上只有一个 postgres 安装。
【问题讨论】:
也许您的 Bucardo 版本没有为 Postgres 10 引入的新编号方案做好准备。 @a_horse_with_no_name 我可以自己解决这个问题吗?我下载了最新版本的 Bucardo。另外,我不想降级到 Postgres 9。 这也发生在我身上,pg v9.6Sorry, Bucardo requires Postgres version 8.1 or higher. This is only 0.42
【参考方案1】:
似乎在master中修复了。有一个thread in the bucardo-general 邮件列表,explains 您可以自己在 bucardo 脚本中进行一些更改或应用差异:
diff --git a/bucardo b/bucardo index e1816f1..8e433ef 100755
--- a/bucardo
+++ b/bucardo @@ -8979,7 +8979,7 @@ sub install
- if ($res !~ /(\d+)\.(\d+)(\S+)/)
+ if ($res !~ /(\d+)\.(\d+)/)
print "-->Sorry, unable to connect to the database\n\n";
warn $delayed_warning;
exit 1 if $bcargs->batch; @@ -8988,10 +8988,7 @@ sub install
## At this point, we assume a good connection
## Assign the version variables
- my ($maj,$min,$rev) = ($1,$2,$3);
- ## We need to be able to handle things such as 9.2devel
- $rev =~ s/^\.//;
- $rev =~ s/(\d+)\.\d+/$1/;
+ my ($maj,$min) = ($1,$2);
$QUIET or print "Postgres version is: $maj.$min\n";
bucardo 脚本位于/usr/local/bin/bucardo
中,并且没有写入权限,因此您必须更改它。
【讨论】:
以上是关于Bucardo 显示错误的 postgres 版本的主要内容,如果未能解决你的问题,请参考以下文章
出现错误 - PG::UndefinedColumn(错误:使用 postgres 版本 13.3 的 heroku 上不存在列 d.adsrc
在 Windows 中,停止 postgres 服务会导致节点崩溃并显示“错误:由于管理员命令而终止连接”