本章解释了如何开始使用 Pgpool-II
。
安装
在本节中,我们假设您已经安装了 Pgpool-II
与 PostgreSQL
集群。
你的第一个复制(Replication)
在本节中,我们将解释如何使用 Pgpool-II
管理具有流复制的 PostgreSQL
集群,这是最常见的设置之一。
在继续之前,您应该正确设置 pgpool.conf
与流复制模式。Pgpool-II
提供了示例配置,配置文件位于 /usr/local/etc
,默认从源代码安装。您可以将 pgpool.conf.sample
复制为 pgpool.conf
。
cp /usr/local/etc/pgpool.conf.sample pgpool.conf
如果你打算使用 pgpool_setup
,输入:
pgpool_setup
这将创建一个具有流复制模式安装、主 PostgreSQL
安装和异步备用 PostgreSQL
安装的 Pgpool-II
。
从现在开始,我们假设您使用 pgpool_setup
在当前目录下创建安装。请注意,在执行 pgpool_setup
之前,当前目录必须是空的。
要启动整个系统,请输入:
./startall
系统启动后,您可以通过向任何数据库发出名为 show pool_nodes
的伪 SQL
命令来检查集群状态。 pgpool_setup
自动创建 test
数据库。我们使用数据库。注意端口号是 11000
,这是 pgpool_setup
分配给 Pgpool-II
的默认端口号。
$ psql -p 11000 -c "show pool_nodes" test
node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay | last_status_change
---------+----------+-------+--------+-----------+---------+------------+-------------------+-------------------+---------------------
0 | /tmp | 11002 | up | 0.500000 | primary | 0 | false | 0 | 2019-01-31 10:23:09
1 | /tmp | 11003 | up | 0.500000 | standby | 0 | true | 0 | 2019-01-31 10:23:09
(2 rows)
结果显示 status
列为 up
,表示 PostgreSQL
已启动并正在运行,这很好。
测试复制
让我们使用标准 PostgreSQL
安装附带的基准工具 pgbench
来测试复制功能。键入以下内容以创建基准表
$ pgbench -i -p 11000 test
要查看 replication
是否正常工作,请直接连接到主服务器和备用服务器,看看它们是否返回相同的结果。
$ psql -p 11002 test
\dt
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+---------
public | pgbench_accounts | table | t-ishii
public | pgbench_branches | table | t-ishii
public | pgbench_history