Обсуждение: 9.6 synchronous_standby_names: discrepancy between docs and functionality

Поиск
Список
Период
Сортировка

9.6 synchronous_standby_names: discrepancy between docs and functionality

От
"Nicholson, Brad (Toronto, ON, CA)"
Дата:
Hi Folks,

9.6 dev installed from RPM.  The version according to yum is:
Release     : git20160325_1PGDG.rhel7

The docs state the following as an example of synchronous_standby_names for=
 multiple sync standby's
synchronous_standby_names =3D '2 (s1, s2, s3)'

When you try and use this example, it fails:

syncrep=3D# alter system set synchronous_standby_names=3D'2 (s1, s2, s3)';
ERROR:  invalid value for parameter "synchronous_standby_names": "2 (s1, s2=
, s3)"
DETAIL:  List syntax is invalid.

If you remove the space from between the 2 & the ( it works:

syncrep=3D# alter system set synchronous_standby_names=3D'2(s1, s2, s3)';
ALTER SYSTEM

Thanks,
Brad.

Re: 9.6 synchronous_standby_names: discrepancy between docs and functionality

От
Michael Paquier
Дата:
On Thu, Apr 14, 2016 at 9:51 PM, Nicholson, Brad (Toronto, ON, CA)
<bnicholson@hpe.com> wrote:
> When you try and use this example, it fails:
>
> syncrep=# alter system set synchronous_standby_names='2 (s1, s2, s3)';
> ERROR:  invalid value for parameter "synchronous_standby_names": "2 (s1, s2, s3)"
> DETAIL:  List syntax is invalid.
>
> If you remove the space from between the 2 & the ( it works:
>
> syncrep=# alter system set synchronous_standby_names='2(s1, s2, s3)';
> ALTER SYSTEM

Both of them work for me (HEAD at 92a30a7):
=# alter system set synchronous_standby_names='2 (s1, s2, s3)';
ALTER SYSTEM
=# alter system set synchronous_standby_names='2(s1, s2, s3)';
ALTER SYSTEM
--
Michael

Re: 9.6 synchronous_standby_names: discrepancy between docs and functionality

От
Fujii Masao
Дата:
On Thu, Apr 14, 2016 at 11:22 PM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> On Thu, Apr 14, 2016 at 9:51 PM, Nicholson, Brad (Toronto, ON, CA)
> <bnicholson@hpe.com> wrote:
>> When you try and use this example, it fails:
>>
>> syncrep=# alter system set synchronous_standby_names='2 (s1, s2, s3)';
>> ERROR:  invalid value for parameter "synchronous_standby_names": "2 (s1, s2, s3)"
>> DETAIL:  List syntax is invalid.

Maybe 9.6dev RPM that you installed was created before multiple
sync standbys feature was committed.

>> If you remove the space from between the 2 & the ( it works:
>>
>> syncrep=# alter system set synchronous_standby_names='2(s1, s2, s3)';
>> ALTER SYSTEM

Before multiple sync standbys feature was added, only comma-separated
list was valid in synchronous_standby_names. Since probably '2(s1, s2, s3)'
was interpreted as a comma-separated list of three standby names
"2(s1", "s2" and "s3)", it worked fine.

Regards,

--
Fujii Masao