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过不去。