<div dir="ltr"><div><div>Previous behaviour was tested on pgpool 3.3.7<br><br>In pgpool-3.4 it behaves almost exactly as previous version but client receives different message:<br><br><blockquote><span style="font-family:monospace,monospace">psql: ERROR:  unable to get password, password file descriptor is NULL</span><br></blockquote><br></div><div>It is null because I expect pgpool to proxy authorization from backend as it does with only one backend configured.<br><br>Only configuration that is working with md5 &amp; multiple backends in load balancer mode is same as described for master/slave:<br><br><div style="margin-left:40px"><span style="font-family:monospace,monospace">enable_pool_hba = on</span><br><span style="font-family:monospace,monospace">pool_passwd = &#39;pool_passwd&#39;</span><br><span style="font-family:monospace,monospace">backend_hostname0 = &#39;pg2&#39;</span><br><span style="font-family:monospace,monospace"></span><span style="font-family:monospace,monospace">backend_hostname1 = &#39;pg3&#39;</span><br></div><br></div>with passwords copied from database to pool_passwd file<br></div><div>and pool_hba having:<br><br></div><div style="margin-left:40px"><span style="font-family:monospace,monospace">local all all <a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> md5</span><br></div><div><div><br><br></div><div>this does not solve my case as I do not want to maintain local pool_passwd file in addition to postgres database user table.<br></div><div><br></div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">Roman Barczyński</div></div>
<br><div class="gmail_quote">On Thu, Nov 26, 2015 at 12:40 PM, Roman Barczyński <span dir="ltr">&lt;<a href="mailto:rombar@gmail.com" target="_blank">rombar@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi,<br><br></div>I have 2 read-only backends for select queries and I&#39;d like to setup pgpool load balancing for them without using md5 pool_passwd file on pgpool machine.<br><br></div>When I setup pgpool with only one backend like this:<br></div><div><span style="font-family:monospace,monospace"><br></span><div style="margin-left:40px"><span style="font-family:monospace,monospace">enable_pool_hba = off</span><br><span style="font-family:monospace,monospace">pool_passwd = &#39;&#39;</span><br><span style="font-family:monospace,monospace">backend_hostname0 = &#39;pg2&#39;</span><br></div><div style="margin-left:40px"><span style="font-family:monospace,monospace"></span></div><br></div>it works as I want to, that is first auth is passed to backend, then stored, clients can connect without problems:<br><span style="font-family:monospace,monospace"><br></span><blockquote><span style="font-family:monospace,monospace">DEBUG: pid 17273: pool_do_auth: auth kind:5</span><br><span style="font-family:monospace,monospace">DEBUG: pid 17273: trying md5 authentication</span><br><span style="font-family:monospace,monospace">DEBUG: pid 17273: DB node id: 0 salt: 58d222bc</span><br><span style="font-family:monospace,monospace">...</span><br><span style="font-family:monospace,monospace">DEBUG: pid 17273: 0 th backend: name: session_authorization value: replica_test</span><br><span style="font-family:monospace,monospace">...</span><br><span style="font-family:monospace,monospace">DEBUG: pid 17273: pool_send_auth_ok: send pid 31831 to frontend</span><br></blockquote><br></div><div>Issues start when I add second backend:<br></div><br><div style="margin-left:40px"><span style="font-family:monospace,monospace">enable_pool_hba = off</span><br><span style="font-family:monospace,monospace">pool_passwd = &#39;&#39;</span><br><span style="font-family:monospace,monospace">backend_hostname0 = &#39;pg2&#39;</span><br><span style="font-family:monospace,monospace"></span><span style="font-family:monospace,monospace">backend_hostname1 = &#39;pg3&#39;</span><br></div><div style="margin-left:40px"><span style="font-family:monospace,monospace"></span></div><div><div><div><div><div><div><div><div><span style="font-family:monospace,monospace"><br></span><br></div><div>clients get &quot;password authentication failed&quot; and pgpool logs:<br><br><blockquote><span style="font-family:monospace,monospace">DEBUG: pid 17328: pool_do_auth: auth kind:5<br>DEBUG: pid 17328: trying md5 authentication<br>ERROR: pid 17328: pool_get_passwd: username is NULL<br>DEBUG: pid 17328: do_md5: (null) does not exist in pool_passwd<br>DEBUG: pid 17328: do_md5failed in slot 0</span><br></blockquote><br></div><div>is it by design or bug?<span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888"><div><br><br></div><div>Roman Barczyński</div><div>
</div></font></span></div></div></div></div></div></div></div></div>
</blockquote></div><br></div>