pgpool这个东西,其实我并不看好。但是这个算穷人的复制/主从解决方案。

既然有客户用,就得研究研究。

这里我目前所指,是 PPAS(PostgresPlus Advanced Server)里打包好的 pgpool,

各个DB节点也是运行 PPAS。关于PPAS这个东西,仁者见仁,智者见智;等以后有了时间再说它。

在pgpool运行的节点上,安装PPAS的时候,把组件里的pgpool也给选上就好了

(其实,此节点只需可以运行 pgpool和psql,PPAS其他组件装不装也无所谓,为简单起见就都装了)。

基本上需要三个节点:

pgpool运行节点(安装PPAS,采用oracle compatible模式)

DB1节点(运行PPAS,安装时采用 oracle compatible模式)

DB2节点(运行PPAS,安装时采用 oracle compatible模式)

由于PPAS对一些postgresql 的东西都作了修改,所以和一般的pgpool也不大一样,为了避免纷扰,采用如下的办法:

在pgpool节点,

pgpool 的运行,用 /opt/PostgresPlus/9.1AS/bin目录下的 pgpool, 配置文件我们单独作一套。

最后命令行如下:

  #cd /opt/PostgresPlus/9.1AS/bin

  #./pgpool -f /usr/local/etc/pgpool.conf -n

当然,在可以这么运行之前,还有一些工作要做:

首先,在pgpool节点上,作pgpool配置文件目录

       #mkdir /usr/local/etc

       然后从别处拷贝 pgpool.conf 和pcp.conf 文件到此目录,并且修改之。

       具体如何设置配置文件参数,参考网上的文档好了,这里重点是PPAS下如何来作。

   其次,在pgpool节点上,作pgpool.pid所使用的缺省目录:

       #mkdir /var/run/pgpool

   第三,在各个PPAS数据库节点上,pg_hba.conf里的认证方式都设定为trust。

       好像pgpool这方面比较弱,设定md5过不去。