Hallo,
ich verwende pgpool-II (Version 3.1.3) als vorgeschalteten Server (CentOS 5.8) für meine beiden lokalen PostgreSQL-Server (Version 9.1.3 auf Windows7).
Ziel dieses Aufbaus ist es unter anderem zu testen, wie ein Failover mit pgpool funktioniert.
Dazu setze ich die Property failover_command in der Datei pgpool.conf auf den folgenden Wert:
failover_command = ‘/usr/local/bin/failover_stream.sh %d %H c:\postgresql-9.1.3-1_A\datadir\trigger_file.txt’
In der Log-Datei pgpool.log sehe ich dann, dass der Parameter %H wohl nicht belegt ist.
Hat jemand dieses Phänomen schon einmal beobachtet und weiß, wie man es beheben kann?
Danke und Gruß,
Hans.
Hier ist ein Ausschnitt Konfigurationsdatei:
# - pgpool Connection Settings -
listen_addresses = ‘*’
port = 9999
socket_dir = ‘/var/run/pgpool’
pcp_port = 9898
pcp_socket_dir = ‘/var/run/pgpool’
- Backend Connection Settings -
backend_hostname0 = ‘hanshnb5’
Host name or IP address to connect to for backend 0
backend_port0 = 5532
Port number for backend 0
backend_weight0 = 1
Weight for backend 0 (only in load balancing mode)
backend_data_directory0 = ‘C:\postgresql-9.1.3-1_B\datadir’
Data directory for backend 0
backend_flag0 = ‘ALLOW_TO_FAILOVER’
Controls various backend behavior
ALLOW_TO_FAILOVER or DISALLOW_TO_FAILOVER
backend_hostname1 = ‘hanshnb5’
backend_port1 = 5432
backend_weight1 = 1
backend_data_directory1 = ‘C:\postgresql-9.1.3-1_A\datadir’
backend_flag1 = ‘ALLOW_TO_FAILOVER’
- Authentication -
enable_pool_hba = true
authentication_timeout = 60
#------------------------------------------------------------------------------
REPLICATION MODE
#------------------------------------------------------------------------------
replication_mode = false
#------------------------------------------------------------------------------
LOAD BALANCING MODE
#------------------------------------------------------------------------------
load_balance_mode = true
#------------------------------------------------------------------------------
MASTER/SLAVE MODE
#------------------------------------------------------------------------------
master_slave_mode = true
master_slave_sub_mode = ‘stream’
sr_check_period = 10
sr_check_user = ‘nobody’
sr_check_password = ‘’
delay_threshold = 10000000
follow_master_command = ‘’
#------------------------------------------------------------------------------
PARALLEL MODE AND QUERY CACHE
#------------------------------------------------------------------------------
parallel_mode = false
#------------------------------------------------------------------------------
HEALTH CHECK
#------------------------------------------------------------------------------
health_check_period = 10
Health check period
Disabled (0) by default
health_check_timeout = 20
Health check timeout
0 means no timeout
health_check_user = ‘postgres’
Health check user
health_check_password = ‘’
This parameter is not yet implemented.
Password for health check user
#------------------------------------------------------------------------------
FAILOVER AND FAILBACK
#------------------------------------------------------------------------------
failover_command = ‘/usr/local/bin/failover_stream.sh %d hanshnb5 c:\postgresql-9.1.3-1_A\datadir\trigger_file.txt’
Executes this command at failover
Special values:
%d = node id
%h = host name
%p = port number
%D = database cluster path
%m = new master node id
%H = hostname of the new master node
%M = old master node id
%P = old primary node id
%% = ‘%’ character
failback_command = ‘’
fail_over_on_backend_error = true
#------------------------------------------------------------------------------
ONLINE RECOVERY
#------------------------------------------------------------------------------
recovery_user = ‘nobody’