Problem with pcp_recovery_node

From: puska <puska(at)ztm(dot)hr>
To: pgpool-general(at)lists(dot)postgresql(dot)org
Subject: Problem with pcp_recovery_node
Date: 2025-10-24 12:43:15
Message-ID: 6cf4b5357603b7d038e6aa10b34e98b32f79d95c.camel@ztm.hr
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgpool-general

Hi, 

I'm trying to deploy pgpool2 cluster with the help of instructions
form https://www.pgpool.net/docs/pgpool-II-4.3.5/en/html/example-cluster.html
 of and the thing that's bugging me at the moment is that I'm not able
to create new node.
When I start  (as root user or postgres user)

pcp_recovery_node -h 192.168.137.150 -p 9898 -U pgpool -n 1

I get:

ERROR: executing recovery, execution of command failed at "1st stage"
DETAIL: command:"/var/lib/postgresql/15/main/recovery_1st_stage"

but when I try calling recovery_1st_stage like:

/var/lib/postgresql/15/main/recovery_1st_stage
/var/lib/postgresql/15/main sql2.ztm.hr /var/lib/postgresql/15/main
5432 1 5432  sql1.ztm.hr

the script passes without errors:

recovery_1st_stage: end: recovery_1st_stage is completed successfully

In pgpool2 log I get:

2025-10-24 14:25:03.657: pcp_main pid 328374: DEBUG: I am PCP child
with PID:328374 and accept fd:7
2025-10-24 14:25:03.657: pcp_main pid 328374: LOG: forked new pcp
worker, pid=338306 socket=7
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: I am PCP worker
child with pid:338306
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: initializing
backend status
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: received PCP
packet
2025-10-24 14:25:03.658: pcp_child pid 338306: DETAIL: PCP packet type
of service 'M'
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: PCP: sending md5
salt to client
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: received PCP
packet
2025-10-24 14:25:03.658: pcp_child pid 338306: DETAIL: PCP packet type
of service 'R'
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: PCP: processing
authentication request
2025-10-24 14:25:03.658: pcp_child pid 338306: DETAIL: authentication
OK
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: received PCP
packet
2025-10-24 14:25:03.658: pcp_child pid 338306: DETAIL: PCP packet type
of service 'O'
2025-10-24 14:25:03.658: pcp_child pid 338306: DEBUG: PCP: processing
recovery request
2025-10-24 14:25:03.658: pcp_child pid 338306: DETAIL: start online
recovery
2025-10-24 14:25:03.658: pcp_child pid 338306: LOG: starting recovering
node 1
2025-10-24 14:25:03.677: pcp_child pid 338306: DEBUG: recovery execute
checkpoint, start checkpoint
2025-10-24 14:25:03.688: pcp_child pid 338306: DEBUG: recovery execute
checkpoint, finish checkpoint
2025-10-24 14:25:03.688: pcp_child pid 338306: LOG: node recovery,
CHECKPOINT in the 1st stage done
2025-10-24 14:25:03.688: pcp_child pid 338306: LOG: executing recovery
2025-10-24 14:25:03.688: pcp_child pid 338306: DETAIL: starting
recovery command: "SELECT pgpool_rec
overy('/var/lib/postgresql/15/main/recovery_1st_stage', 'sql2.ztm.hr',
'/var/lib/postgresql/15/main',
'5432', 1, '5432', 'sql1.ztm.hr')"
2025-10-24 14:25:03.688: pcp_child pid 338306: LOG: executing recovery
2025-10-24 14:25:03.688: pcp_child pid 338306: DETAIL: disabling
statement_timeout
2025-10-24 14:25:03.688: pcp_child pid 338306: DEBUG: executing
recovery, start recovery
2025-10-24 14:25:03.690: pcp_child pid 338306: DEBUG: sending signal:12
to the parent process with P
ID:328328
2025-10-24 14:25:03.690: pcp_child pid 338306: ERROR: executing
recovery, execution of command faile
d at "1st stage"
2025-10-24 14:25:03.690: pcp_child pid 338306: DETAIL:
command:"/var/lib/postgresql/15/main/recovery_1st_stage"

I'm not sure if order of arguments from the log is correct, if I run
recovery_1st_stage with argument ordered like in the log I'm getting
error about host /var/lib/postgresql/15/main not being available.
Is there a way to get stderr from recovery_1st_stage while running it
from pcp_recovery_node?

I installed pgpool2 version 4.3.5 from Debian 12 package, PostgreSQL is
version 15.

pgpool2 config file attached

--

Željko Puškarić / Voditelj informatičke službe | Head of ICT Sector
zpuskaric(at)hzhm(dot)hr / +385 1 5496-092
Hrvatski zavod za hitnu medicinu | Croatian Institute of Emergency
Medicine
Office: +385 1 5496-089 / Fax: +385 1 4677-180
Planinska 13, 10000 Zagreb, Hrvatska | Croatia
www.hzhm.hr

Attachment Content-Type Size
pgpool.conf text/plain 49.5 KB

Responses

Browse pgpool-general by date

  From Date Subject
Next Message Tatsuo Ishii 2025-10-27 04:20:30 Re: [pgpool-general: 9486] Retiring slony mode
Previous Message VASUKI M 2025-10-23 07:13:04 Fwd: Automating Failover Resync & Re-Attach in pgpool2