9.6 synchronous_standby_names: discrepancy between docs and functionality

Started by Nicholson, Brad (Toronto, ON, CA)about 10 years ago3 messagesbugs
Jump to latest

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 = '2 (s1, s2, s3)'

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

Thanks,
Brad.

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Michael Paquier
michael@paquier.xyz
In reply to: Nicholson, Brad (Toronto, ON, CA) (#1)
Re: 9.6 synchronous_standby_names: discrepancy between docs and functionality

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

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#3Fujii Masao
masao.fujii@gmail.com
In reply to: Michael Paquier (#2)
Re: 9.6 synchronous_standby_names: discrepancy between docs and functionality

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

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs