pgpool-II使用指南-复制(簡體)

来源:互联网 发布:天津大学软件培训 编辑:程序博客网 时间:2024/05/14 09:02
本文翻译自源代码包中的“pgpool-II Tutorial”文档

(服务器采用上一节安装的结构,单机三DB)

配置复制系统
pgpool.conf文件中的replication_mode参数设置为true开启数据库复制功能:
replication_mode = true

replication_mode设置为true时,pgpool-II将收到的查询请求转发到每一个数据库节点。

load_balance_mode设置为true时,pgpool-II在数据库节点之间分布SELECT查询。
load_balance_mode = true

在这里我们将这两个参数都设置为true。


验证复制系统
为了能够响应pgpool.conf的修改,必须重新启动pgpool-II
在重新启动完成后,测试一下复制系统运行是否正常。

首先,创建一个用来复制的数据库,命名为“bench_replication”,它应该在每个节点上创建。
通过pgpool-II使用createdb命令,就会在每个节点创建数据库:
$ createdb -p 9999 bench_replication

接下来,使用带有-i选项的pgbench以预定义的数据表和数据初始化数据库:
$ pgbench -i -p 9999 bench_replication

下边的表格是pgbench -i 创建的数据表和数据的概要信息,如果数据表和数据在所有节点上被正确创建,复制系统将会正常工作。
数据表名 数据行数 branches 1 tellers 10 accounts 100000 history 0
用一个简单的shell脚本来检查每个节点,显示上述4个数据表的数据行数:
$ for port in 5432 5433 5434; do
> echo $port
> for table_name in branches tellers accounts history; do
> echo $table_name
> psql -c "SELECT count(*) FROM $table_name" -p $port bench_replication
> done
>done

关于复制的文档比较简单,就这么多。

题外话,我并不是专门作pgsql的,对它的了解也很肤浅,一边上班一边学习它而已。因为很少在实际工作中使用,所以经验很少。翻译这些东西,也是为了自己能够知道更多关于pgsqld的内容。如果有问题,可以mail给我,并请同时cc给阿益,大家共同探讨。同时我们也在寻求更多的交流渠道供大家使用,希望朋友越来越多,社群越来越大,加强交流使我们进步。
 
原创粉丝点击