在Ubuntu上使用repmgr进行postgreSQL复制和故障转移

我是Linux新手,并且负责使用PostgreSQLbuild立一个冗余的Linux数据库服务器。 最好故障切换需要自动进行,但是现在手动过程将会很好。

到目前为止,我所做的是在Ubuntu 11.10上使用PostgreSQL 9.1和repmgr1.1.0,按照2ndQuadrant上的步骤设置两个相同的DB服务器。

唯一的问题是,它只是为了复制,这是工作正常,谢谢2ndQuadrant。 现在,我想通过closures主数据库并提升热备数据库来进行故障切换,但是这种情况会导致sh: pg_ctl: not found ,然后PostgreSQL服务无法启动。

我的postgreSQL安装程序是通过apt-get进行默认安装,并设置为master-hot_standby。 请有人可以帮助我设置两个服务器之间的简单复制postgresql与HA故障转移一步一步。

现在回答这个问题有点晚了。 不过,我上周遇到这个问题,在“ repmgr ”的背景下找不到答案。

pg_ctl驻留在Postgres安装的bin目录中。 bin目录不在PATH环境variables中。 你不能设置使这个问题变得棘手的环境variables。

你应该在你的repmgr.conf文件中指定pg_bindirvariables来解决这个问题。 通过更新conf文件中的path添加以下行。

pg_bindir = /path/到/ postgres的/ bin中

只是注意到这个未回答的问题..但通常你想运行pg_ctl作为postgres用户

在里面

 /usr/lib/postgresql/9.2/bin/pg_ctl 

这就是如果你运行9.2,所以你的版本可能会有所不同。