pgpool-ll配置文件详解

以下是 pgpool.conf 文件的配置内容,它是用于设置和调整 Pgpool-II 的行为。Pgpool-II 是一个用于 PostgreSQL 数据库的中间件,它提供了负载均衡、连接池、故障转移等功能。下面是对您提供的配置选项的解释:

pgpool.conf
[all servers]# \cp -p /etc/pgpool-II/pgpool.conf.sample-stream /etc/pgpool-II/pgpool.conf
# [CONNECTIONS]
listen_addresses = '*'
port = 9999
socket_dir = '/var/run/postgresql'
## - Backend Connection Settings -
backend_hostname0 = 'server1'
backend_data_directory0 = '/var/lib/pgsql/13/data'
backend_application_name0 = 'server1'
backend_flag0 = 'ALLOW_TO_FAILOVER'
backend_port0 = 5432
backend_weight0 = 1backend_hostname1 = 'server2'
backend_data_directory1 = '/var/lib/pgsql/13/data'
backend_application_name1 = 'server2'
backend_flag1 = 'ALLOW_TO_FAILOVER'
backend_port1 = 5432
backend_weight1 = 1backend_hostname2 = 'server3'
backend_data_directory2 = '/var/lib/pgsql/13/data'
backend_application_name2 = 'server3'
backend_flag2 = 'ALLOW_TO_FAILOVER'
backend_port2 = 5432
backend_weight2 = 1
## - Authentication -
enable_pool_hba = on
pool_passwd = 'pool_passwd'# [LOGS]
logging_collector = on
log_directory = '/var/log/pgpool_log'
log_filename = 'pgpool-%Y-%m-%d_%H%M%S.log'
log_file_mode = 0600
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 10MB# [FILE LOCATIONS]
pid_file_name = '/var/run/pgpool/pgpool.pid'
## 此目录用来存放 pgpool_status 文件,此文件保存集群状态(刷新有问题时会造成show pool_status不正确)
logdir = '/tmp'
# [NATIVE REPLICATION MODE]
sr_check_user = 'pgpool'
## 为''时查找 pool_passwd
sr_check_password = 'pgpool'
follow_primary_command = '/etc/pgpool-II/follow_primary.sh %d %h %p %D %m %H %M %P %r %R'# [HEALTH CHECK GLOBAL PARAMETERS]
health_check_period = 5
health_check_timeout = 30
health_check_user = 'pgpool'
## 为''时查找 pool_passwd
health_check_password = 'pgpool'
health_check_max_retries = 3# [FAILOVER AND FAILBACK]
failover_command = '/etc/pgpool-II/failover.sh %d %h %p %D %m %H %M %P %r %R %N %S'# [ONLINE RECOVERY]
recovery_user = 'postgres'
recovery_password = 'postgres'
recovery_1st_stage_command = 'recovery_1st_stage'# [WATCHDOG]
use_watchdog = on
hostname0 = 'server1'
wd_port0 = 9000
pgpool_port0 = 9999hostname1 = 'server2'
wd_port1 = 9000
pgpool_port1 = 9999hostname2 = 'server3'
wd_port2 = 9000
pgpool_port2 = 9999wd_ipc_socket_dir = '/var/run/postgresql'
## - Virtual IP control Setting -
delegate_IP = '172.19.129.100'
## - Behaivor on escalation Setting -
wd_escalation_command = '/etc/pgpool-II/escalation.sh'## - Lifecheck Setting -
wd_lifecheck_method = 'heartbeat'
### -- heartbeat mode --
heartbeat_hostname0 = 'server1'
heartbeat_port0 = 9694
heartbeat_device0 = ''heartbeat_hostname1 = 'server2'
heartbeat_port1 = 9694
heartbeat_device1 = ''heartbeat_hostname2 = 'server3'
heartbeat_port2 = 9694
heartbeat_device2 = ''

基本连接设置

  • listen_addresses = '*':Pgpool-II 监听所有的网络接口。
  • port = 9999:Pgpool-II 监听的端口。
  • socket_dir = '/var/run/postgresql':Unix socket 的目录。

后端连接设置

  • backend_hostname[0-2]:指定后端数据库服务器的主机名。
  • backend_data_directory[0-2]:后端数据库服务器的数据目录。
  • backend_application_name[0-2]:后端数据库服务器的应用名称。
  • backend_flag[0-2]:设置是否允许对后端服务器进行故障转移。
  • backend_port[0-2]:后端数据库服务器的端口。
  • backend_weight[0-2]:后端服务器的权重,用于负载均衡。

认证设置

  • enable_pool_hba = on:启用池的基于主机的访问控制。
  • pool_passwd = 'pool_passwd':连接池的密码。

日志设置

  • logging_collector = on:开启日志收集。
  • log_directorylog_filenamelog_file_mode:设置日志文件的目录、文件名和权限。
  • log_truncate_on_rotationlog_rotation_agelog_rotation_size:设置日志轮换的策略。

文件位置

  • pid_file_name:Pgpool-II 的进程ID文件位置。
  • logdir:存放 pgpool_status 文件的目录。

原生复制模式设置

  • sr_check_usersr_check_password:用于流复制检查的用户和密码。
  • follow_primary_command:主服务器变更时的命令。

健康检查设置

  • health_check_periodhealth_check_timeout:健康检查的周期和超时时间。
  • health_check_userhealth_check_password:健康检查的用户和密码。
  • health_check_max_retries:健康检查失败的最大重试次数。

故障转移和故障回复

  • failover_command:故障转移时的命令。

在线恢复

  • recovery_userrecovery_password:在线恢复的用户和密码。
  • recovery_1st_stage_command:在线恢复的第一阶段命令。

看门狗设置

  • use_watchdog = on:开启看门狗功能。
  • hostname[0-2]wd_port[0-2]pgpool_port[0-2]:看门狗的主机名、端口和 Pgpool-II 端口。
  • wd_ipc_socket_dir:看门狗的 IPC socket 目录。
  • delegate_IPwd_escalation_command:虚拟IP控制和升级时的命令。
  • wd_lifecheck_methodheartbeat_hostname[0-2]heartbeat_port[0-2]:生命检查的方法和心跳的配置。

总的来说,这些配置用于设置 Pgpool-II 以管理 PostgreSQL 数据库集群,提供高可用性、负载均衡、故障转移和在线恢复等功能。

以下

相关推荐
夜泉_ly2 小时前
MySQL -安装与初识
数据库·mysql
qq_529835353 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New6 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6756 小时前
数据库基础1
数据库
我爱松子鱼6 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo6 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser7 小时前
【SQL】多表查询案例
数据库·sql
Galeoto7 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)8 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231118 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql