PostgreSQL PGPOOL-II 日常维护
1 背景知识
本章主要介绍 pgpool-II 的日常管理和使用。
2 pgpool 停止
2.1 语法定义
pgpool [-f config_file][-F pcp_config_file] [-m {s[mart]|f[ast]|i[mmediate]}] stop
2.2 选项说明
选项 | 说明 |
---|---|
-f config_file | 指定pgpool.conf |
-a hba_file | 指定 pool_hba.conf |
-F pcp_config_file | 指定pcp.conf |
-m s[mart] | 等客户端断开连接,然后关闭。 |
-m f[ast] | 并不等待客户端;立即关闭。 |
-m i[immediate] | 等同于 -m f |
2.3 停止pgpool
Warning
先关备库,再关主库,关闭顺序不对则会造成主备切换。
pgpool -f $PGHOME/etc/pgpool.conf -F $PGHOME/etc/pcp.conf -a $PGHOME/etc/pg_hba.conf -m fast stop
2.4 配置pgpool停止脚本
vi $PGHOME/bin/pool_stop.sh
chmod +x pool_stop.sh
3 pgpool启动
3.1 语法定义
pgpool [-c][-f config_file][-a hba_file][-F pcp_config_file][-n][-D][-d]
3.2 选项说明
选项 | 说明 |
---|---|
-c | 删除 query cache |
-f config_file | 指定pgpool.conf |
-a hba_file | 指定 pool_hba.conf |
-F pcp_config_file | 指定pcp.conf |
-n | 非守护进程模式。 |
-D | 忽略 pgpool_status 文件,指不恢复到指定的状态。 |
-C | 忽略用基于内存的查询缓存的 libmemcached |
-d | 调试模式。 |
3.3 启动pgpool
Warning
先启主库,再启备库,启动顺序不对则会造成主备切换。
pgpool -f $PGHOME/etc/pgpool.conf -F $PGHOME/etc/pcp.conf -a $PGHOME/etc/pool_hba.conf
3.4 配置pgpool 启动脚本
vi $PGHOME/bin/pool_start.sh
chmod +x pool_start.sh
4 将启动和停止脚本拷贝到其他节点上
scp $PGHOME/bin/pool_start.sh $PGHOME/bin/pool_stop.sh node2:$PGHOME/bin/
scp $PGHOME/bin/pool_start.sh $PGHOME/bin/pool_stop.sh node3:$PGHOME/bin/
5 pgpool 重新加载配置文件
5.1 语法定义
pgpool [-c][-f config_file][-a hba_file][-F pcp_config_file] reload
5.2 选项说明
选项 | 说明 |
---|---|
-f config_file | 指定pgpool.conf |
-a hba_file | 指定 pool_hba.conf |
-F pcp_config_file | 指定pcp.conf |
pgpool -f $PGHOME/etc/pgpool.conf -F $PGHOME/etc/pcp.conf -a $PGHOME/etc/pool_hba.conf reload
6 pgpool SHOW 命令
命令 | 说明 |
---|---|
show pool_status; | 获取配置。 |
show pool_nodes; | 获取节点信息。 |
show pool_processes; | 获取pgpool-II 连接池信息。 |
show pool_pools; | 获取 pgpool-ii 所有连接池信息。 |
show pool_version; | 获取pgpool-II 版本信息。 |
7 登录数据库
psql -h vip -p 9999 -U postgres
psql -h vip -p 9999 -U pgpool
8 pcp 命令
8.1 获取节点数
pcp_node_count -h vip -p 9898 -U pgpool
//屏幕输出:
3
8.2 获取节点信息
pcp_node_info -h vip -p 9898 -U postgres 0
//屏幕输出:
node1 5432 2 0.333333 up up primary primary 0 none none 2023-09-13 16:21:43
8.3 关联一个节点
pcp_attach_node -h vip -p 9898 -U postgres -n 1
pcp_node_info -h vip -p 9898 -U postgres 1
8.4 隔离一个节点
pcp_detach_node -h vip -p 9898 -U postgres -n 1
pcp_node_info -h vip -p 9898 -U postgres 1
8.5 显示 pgpool-II 的 watchdog 状态
pcp_watchdog_info -h vip -p 9898 -U postgres
//屏幕输出:
3 3 YES node1:9999 Linux node1 node1
node1:9999 Linux node1 node1 9999 9000 4 LEADER 0 MEMBER
node2:9999 Linux node2 node2 9999 9000 7 STANDBY 0 MEMBER
node3:9999 Linux node3 node3 9999 9000 7 STANDBY 0 MEMBER