Re: pg_basebackup with -R option and start standby have problems with escaped password - Mailing list pgsql-hackers

From Hari Babu
Subject Re: pg_basebackup with -R option and start standby have problems with escaped password
Date
Msg-id 00a501cdf9f8$af0776c0$0d166440$@kommi@huawei.com
Whole thread Raw
In response to Re: pg_basebackup with -R option and start standby have problems with escaped password  (Magnus Hagander <magnus@hagander.net>)
List pgsql-hackers
On Wed, Jan 23, 2013 11:48 PM, Magnus Hagander wrote:  
>On Wed, Jan 23, 2013 at 10:18 AM, Hari Babu <haribabu.kommi@huawei.com>
wrote:
>> Test scenario to reproduce:
>>         1. Start the server
>>         2. create the user as follows
>>                 ./psql postgres -c "create user user1 superuser login
>> password 'use''1'"
>>
>>         3. Take the backup with -R option as follows.
>>                 ./pg_basebackup -D ../../data1 -R -U user1 -W
>>
>> The following errors are occurring when the new standby on the backup
>> database starts.
>>
>> FATAL:  could not connect to the primary server: missing "=" after "1'"
in
>> connection info string
>
>What does the resulting recovery.conf file look like?

The recovery.conf which is generated is as follows 

standby_mode = 'on' 
primary_conninfo = 'user=''user1'' password=''use''1'' port=''5432'' ' 


I observed the problem is while reading primary_conninfo from the
recovery.conf file
the function "GUC_scanstr" removes the quotes of the string and also makes
the
continuos double quote('') as single quote('). 

By using the same connection string while connecting to primary server the
function "conninfo_parse" the escape quotes are not able to parse properly
and it is leading
to problem. 

please correct me if any thing wrong in my observation.


Regards,
Hari babu.




pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Re: Proposal for Allow postgresql.conf values to be changed via SQL [review]
Next
From: Tom Lane
Date:
Subject: Re: Prepared statements fail after schema changes with surprising error