Обсуждение: [BUGS] BUG #14457: Using hyphens/dashes in synchronous_standby_names failswith "invalid value"

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

[BUGS] BUG #14457: Using hyphens/dashes in synchronous_standby_names failswith "invalid value"

От
daff@ptmx.at
Дата:
The following bug has been logged on the website:

Bug reference:      14457
Logged by:          Andreas Ntaflos
Email address:      daff@ptmx.at
PostgreSQL version: 9.6.1
Operating system:   Ubuntu 14.04
Description:

Hi all,

It seems that hyphens or dashes in the value of synchronous_standby_names
are not accepted.

When setting

synchronous_standby_names = 'db02-prod'

and reloading PostgreSQL the following message appears in the logs: 

LOG:  invalid value for parameter "synchronous_standby_names": "db02-prod"

Changing the value to "db02prod" or "*" seems to satisfy PostgreSQL.

The application_name setting in a standby's primary_conninfo accepts
printable ASCII characters such as hyphens, therefore
synchronous_standby_names should as well, no? PostgreSQL 9.5 is fine with
such values, PostgreSQL 9.6 is not. This is probably an unintended side
effect of the new supported syntax for specifying synchronous standbys.


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

daff@ptmx.at writes:
> It seems that hyphens or dashes in the value of synchronous_standby_names
> are not accepted.

You would need to use double quotes, same as the rules for a SQL
identifier.  Per the fine manual:

    Each standby_name should have the form of a valid SQL identifier,
    unless it is *. You can use double-quoting if necessary. But note
    that standby_names are compared to standby application names
    case-insensitively, whether double-quoted or not.


            regards, tom lane


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

Re: [BUGS] BUG #14457: Using hyphens/dashes insynchronous_standby_names fails with "invalid value"

От
Andreas Ntaflos
Дата:
On 2016-12-09 04:18, Tom Lane wrote:
> daff@ptmx.at writes:
>> It seems that hyphens or dashes in the value of synchronous_standby_names
>> are not accepted.
>
> You would need to use double quotes, same as the rules for a SQL
> identifier.  Per the fine manual:
>
>     Each standby_name should have the form of a valid SQL identifier,
>     unless it is *. You can use double-quoting if necessary. But note
>     that standby_names are compared to standby application names
>     case-insensitively, whether double-quoted or not.

Thank you, I seem to have missed that note or was too dense to register
its relevance.

Now onto fixing the pgsql Pacemaker resource agent to properly quote
standby names when generating the values for the
synchronous_standby_names setting :)

Thanks again,

Andreas