Hello,
At Wed, 10 Feb 2016 18:36:43 +0900, Michael Paquier <michael.paquier@gmail.com> wrote in
<CAB7nPqTHmuuDdKWmoaY1ZAi-gRnT_HRdHGyiqpNfFFr15qc5uA@mail.gmail.com>
> On Wed, Feb 10, 2016 at 5:34 PM, Kyotaro HORIGUCHI
> <horiguchi.kyotaro@lab.ntt.co.jp> wrote:
> > > > +sync_node_group:
> > > > + sync_list { $$ = create_group_node(1, $1);
> > > > }
> > > > + | sync_element_ast { $$ = create_group_node(1,
> > > > $1);}
> > > > + | INT '[' sync_list ']' { $$ = create_group_node($1,
> > > > $3);}
> > > > + | INT '[' sync_element_ast ']' { $$ = create_group_node($1,
> > > > $3); }
> > > > We may want to be careful with the use of '[' in application_name. I am not
> > > > much thrilled with forbidding the use of []() in application_name, so we may
> > > > want to recommend user to use a backslash when using s_s_names when a group
> > > > is defined.
> >
> > Mmmm. I found that application_name can contain
> > commas. Furthermore, there seems to be no limitation for
> > character in the name.
> >
> > postgres=# set application_name='ho,ge';
> > postgres=# select application_name from pg_stat_activity;
> > application_name
> > ------------------
> > ho,ge
> >
> > check_application_name() allows all characters in the range
> > between 32 to 126 in ascii. All other characters are replaced
> > with '?'.
>
> Actually I was thinking about that a couple of hours ago. If the
> application_name of a node has a comma, it cannot become a sync
> replica, no? Wouldn't we need a special handling in s_s_names like
> '\,' make a comma part of an application name? Or just ban commas from
> the list of supported characters in the application name?
Surprizingly yes. The list is handled as an identifier list and
parsed by SplitIdentifierString thus it can accept deouble-quoted
names.
s_s_names='abc, def, " abc,""def"'
Result list is ["abc", "def", " abc,\"def"]
Simplly supporting the same notation addresses the problem and
accepts strings like the following.
s_s_names='2["comma,name", "foo[bar,baz]"]'
It is currently an undocumented behavior but I doubt the
necessity to have an explict mention.
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center