<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;
        mso-ligatures:standardcontextual;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#467886;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:11.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">I am working on setting up a new pgpool cluster. I’ve gotten load balancing working well and am now trying to implement failover and recovery.   I have a two-node cluster running pg15 and using streaming replication. To start with I am
 merely attempting shut off my secondary server and fail it back. I can manually reattach the node using pcp_attach_node and that works successfully. When I run the pcp_recovery_node command, however, I get the helpful error of:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ERROR: executing recovery, execution of command failed at "1st stage"<o:p></o:p></p>
<p class="MsoNormal">DETAIL: command:"/etc/pgpool-II/scripts/replication_mode_recovery_1st_stage.sh”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">I figured out that I need to look at my primary server’s postgres logs and there I found this:<o:p></o:p></p>
<p class="MsoNormal">< usr:repl host:10.6.1.191 time:2025-02-03 16:49:20.627 EST 42883 pid:2098668 >ERROR: function pgpool_recovery(unknown, unknown, unknown, unknown, integer, unknown, unknown) does not exist at character 8<o:p></o:p></p>
<p class="MsoNormal">< usr:repl host:10.6.1.191 time:2025-02-03 16:49:20.627 EST 42883 pid:2098668 >HINT: No function matches the given name and argument types. You might need to add explicit type casts.<o:p></o:p></p>
<p class="MsoNormal">< usr:repl host:10.6.1.191 time:2025-02-03 16:49:20.627 EST 42883 pid:2098668 >STATEMENT: SELECT pgpool_recovery('/etc/pgpool-II/scripts/replication_mode_recovery_1st_stage.sh, '10.6.1.131', '/opt/data/data15_new', '5433', 1, '5433', '10.6.1.129')<o:p></o:p></p>
<p class="MsoNormal"><br>
Looking at a prior email chain that went unresolved, I checked my versions and there might be a mismatch:<o:p></o:p></p>
<p class="MsoNormal"><br>
nasdw_apps=# \dx pgpool_recovery<o:p></o:p></p>
<p class="MsoNormal">List of installed extensions<o:p></o:p></p>
<p class="MsoNormal">Name | Version | Schema | Description<o:p></o:p></p>
<p class="MsoNormal">-----------------+---------+--------+-------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">pgpool_recovery | 1.4 | public | recovery functions for pgpool-II for V4.3<o:p></o:p></p>
<p class="MsoNormal">(1 row)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If that’s the case, I don’t know how. It installed version 4.5 when I ran dnf:<br>
<br>
[root@awa-prod-db-vm-pg-nasdw-apps ~]# dnf install pgpool-II-pg15-extensions<o:p></o:p></p>
<p class="MsoNormal">Updating Subscription Management repositories.<o:p></o:p></p>
<p class="MsoNormal">Last metadata expiration check: 0:10:27 ago on Mon 03 Feb 2025 08:57:58 PM UTC.<o:p></o:p></p>
<p class="MsoNormal">Dependencies resolved.<o:p></o:p></p>
<p class="MsoNormal">===================================================================================================================================================================================<o:p></o:p></p>
<p class="MsoNormal">Package Architecture Version Repository Size<o:p></o:p></p>
<p class="MsoNormal">===================================================================================================================================================================================<o:p></o:p></p>
<p class="MsoNormal">Installing:<o:p></o:p></p>
<p class="MsoNormal">pgpool-II-pg15-extensions x86_64 4.5.5-1pgdg.rhel8 pgpool45 53 k<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Transaction Summary<o:p></o:p></p>
<p class="MsoNormal">===================================================================================================================================================================================<o:p></o:p></p>
<p class="MsoNormal">Install 1 Package<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Total download size: 53 k<o:p></o:p></p>
<p class="MsoNormal">Installed size: 124 k<o:p></o:p></p>
<p class="MsoNormal">Is this ok [y/N]: y<o:p></o:p></p>
<p class="MsoNormal">Downloading Packages:<o:p></o:p></p>
<p class="MsoNormal">pgpool-II-pg15-extensions-4.5.5-1pgdg.rhel8.x86_64.rpm 111 kB/s | 53 kB 00:00<o:p></o:p></p>
<p class="MsoNormal">-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">Total 110 kB/s | 53 kB 00:00<o:p></o:p></p>
<p class="MsoNormal">Running transaction check<o:p></o:p></p>
<p class="MsoNormal">Transaction check succeeded.<o:p></o:p></p>
<p class="MsoNormal">Running transaction test<o:p></o:p></p>
<p class="MsoNormal">Transaction test succeeded.<o:p></o:p></p>
<p class="MsoNormal">Running transaction<o:p></o:p></p>
<p class="MsoNormal">Preparing : 1/1<o:p></o:p></p>
<p class="MsoNormal">Installing : pgpool-II-pg15-extensions-4.5.5-1pgdg.rhel8.x86_64 1/1<o:p></o:p></p>
<p class="MsoNormal">Running scriptlet: pgpool-II-pg15-extensions-4.5.5-1pgdg.rhel8.x86_64 1/1<o:p></o:p></p>
<p class="MsoNormal">Verifying : pgpool-II-pg15-extensions-4.5.5-1pgdg.rhel8.x86_64 1/1<o:p></o:p></p>
<p class="MsoNormal">Installed products updated.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Installed:<o:p></o:p></p>
<p class="MsoNormal">pgpool-II-pg15-extensions-4.5.5-1pgdg.rhel8.x86_64<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Complete!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here’s the version of pgpool on the load balancer:<br>
[postgres@awa-prod-db-vm-pgpool1 ~]$ pgpool -v<o:p></o:p></p>
<p class="MsoNormal">pgpool-II version 4.5.5 (hotooriboshi)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Let me know if there’s anything else that I should submit. I’m using the sample replication_mode_recovery_1st_stage script with variables set for my local DB instances.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Adam<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoNormalTable" border="0" cellpadding="0" width="603" style="width:452.05pt">
<tbody>
<tr>
<td width="599" style="width:449.05pt;padding:2.25pt 2.25pt 2.25pt 2.25pt">
<p class="MsoNormal"><img width="225" height="50" style="width:2.3437in;height:.5208in" id="Picture_x0020_926189454" src="cid:image001.png@01DB7721.0CC1B890" alt="Volanno"><br>
<b>Adam Blomeke, PSD </b>| Developer/Analyst<o:p></o:p></p>
<p class="MsoNormal"><a href="mailto:Adam.Blomeke@volanno.com">Adam.Blomeke@volanno.com</a><br>
<a href="http://www.volanno.com/"><span style="color:#212121">www.volanno.com</span></a> | Certified WOSB, DBE, ISO 9001:2015<o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="display:none"><o:p> </o:p></span></p>
<table class="MsoNormalTable" border="0" cellpadding="0" width="1440" style="width:15.0in;margin-left:3.75pt">
<tbody>
<tr>
<td width="1436" style="width:1077.0pt;padding:2.25pt 2.25pt 2.25pt 2.25pt">
<p class="MsoNormal">This message is intended only for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged, or exempt from disclosure under applicable Federal or State Law. If the reader
 of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If
 you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.<o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="background:white"><span style="font-family:"Calibri",sans-serif;color:#1F497D"><img border="0" width="225" height="50" style="width:2.3437in;height:.5208in" id="Picture_x0020_1" src="cid:image002.png@01DB7721.0CC1B890" alt="Volanno"></span><span style="font-family:"Calibri",sans-serif;color:#201F1E;mso-ligatures:none"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span style="font-family:"Helvetica",sans-serif;color:#1F497D;mso-ligatures:none"> </span><span style="font-family:"Calibri",sans-serif;color:#201F1E;mso-ligatures:none"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><b><span style="font-family:"Helvetica",sans-serif;color:#1F497D;mso-ligatures:none">Adam Blomeke, PSD</span></b><span style="font-family:"Helvetica",sans-serif;color:#1F497D;mso-ligatures:none"> | Developer/Analyst
 |</span><span style="font-family:"Calibri",sans-serif;color:#201F1E;mso-ligatures:none"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span style="font-family:"Helvetica",sans-serif;color:#1F497D;mso-ligatures:none"><a href="mailto:Adam.Blomeke@volanno.com" target="_blank"><span style="color:blue">Adam.Blomeke@volanno.com</span></a> | 202.455.4781
 ext. 109</span><span style="font-family:"Calibri",sans-serif;color:#201F1E;mso-ligatures:none"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span style="font-family:"Helvetica",sans-serif;color:#1F497D;mso-ligatures:none"><a href="http://www.volanno.com/" target="_blank"><span style="color:blue">www.volanno.com</span></a> | </span><span style="font-family:"Helvetica",sans-serif;color:#333333;background:white;mso-ligatures:none">Certified
 WOSB, ISO 9001:2015</span><span style="font-family:"Calibri",sans-serif;color:#201F1E;mso-ligatures:none"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>