[pgpool-general: 1367] Re: md5 auth only works when I start pgpool with "-n"

Tatsuo Ishii ishii at postgresql.org
Mon Feb 4 13:39:41 JST 2013


> On Feb 3, 2013, at 1:58 AM, Tatsuo Ishii <ishii at postgresql.org> wrote:
> 
>> From: David Kerr <web at mr-paradox.net>
>> Subject: Re: [pgpool-general: 1363] md5 auth only works when I start pgpool with "-n"
>> Date: Sat, 2 Feb 2013 20:33:58 -0800
>> Message-ID: <80CD5B89-9D55-44CA-8C21-6527C53113CD at mr-paradox.net>
>> 
>>> On Feb 2, 2013, at 12:57 AM, Tatsuo Ishii <ishii at postgresql.org> wrote:
>>> 
>>>>> Howdy,
>>>>> 
>>>>> I believe I ran into this a few months ago and didn't get a resolution. Now I'm back at it and I hope
>>>>> that there's an answer.
>>>>> 
>>>>> Basically, if i start pgpool (streaming replication / pooling mode) with:
>>>>> pgpool -nf pgpool.conf
>>>>> 
>>>>> I can log in just fine via md5 authentication.
>>>>> 
>>>>> However, If i start it with
>>>>> pgpool -f pgpool.conf
>>>>> 
>>>>> I get: psql: ERROR:  "MD5" authentication with pgpool failed for user "postgres"
>>>>> 
>>>>> Since it works fine when i don't background it, I have to assume that my
>>>>> configuration is correct.
>>>>> 
>>>>> I can strace the various processes. (attached) 
>>>>> master is: pgpool -f pgpool.conf
>>>>> worker is: pgpool: worker process
>>>>> waiter is: pgpool: wait for connection request
>>>>> 
>>>>> I'm on pgpool 3.2.1, CentOS.
>>>>> 
>>>>> Hopefully this one's already been covered quite a bit (although no luck with
>>>>> google and reading back mailing list messages).
>>>> 
>>>> Did not reproduce with master here. However we have fixed
>>>> pool_password problem in last October.
>>>> 
>>>> http://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=8e18fee1663fba81d1e56a77bc6702c6930692a8
>>>> 
>>>> And this may related to your problem.
>>>> 
>>>> Can you please try with this patch or the latest 3.2-stable snapshot?
>>>> 
>>>> http://git.postgresql.org/gitweb/?p=pgpool2.git;a=snapshot;h=45c08c8349f72f72d05775ad58889b46ce8b4cf7;sf=tgz
>>>> --
>>>> Tatsuo Ishii
>>>> SRA OSS, Inc. Japan
>>>> English: http://www.sraoss.co.jp/index_en.php
>>>> Japanese: http://www.sraoss.co.jp
>>>> 
>>> 
>>> Same problem.
>>> 
>>> Should I not be starting pgpool as root? would that make any difference?
>> 
>> I don't think so. BTW, can you show ls -l /proc/fd/waiter_pid? I want
>> to make sure that fd (4 your from waiter ptrace) correctly points to
>> pool_passwd.
> 
> good call! it points to /pool_password instead of /usr/local/etc/pool_password
> 
> If i move my pool_password / it starts to work.
> 
> is that set somewhere?

In main.c:

	if (strcmp("", pool_config->pool_passwd))
	{
		char pool_passwd[POOLMAXPATHLEN+1];
		char dirnamebuf[POOLMAXPATHLEN+1];
		char *dirp;

		strlcpy(dirnamebuf, conf_file, sizeof(dirnamebuf));
		dirp = dirname(dirnamebuf);
		snprintf(pool_passwd, sizeof(pool_passwd), "%s/%s",
				 dirp, pool_config->pool_passwd);
		pool_init_pool_passwd(pool_passwd);
	}

The absolute pass to pool_passwd is set to the one same as pgpool.conf.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


More information about the pgpool-general mailing list