On 25/05/17 23:18, Andres Freund wrote:
> On 2017-05-25 17:08:57 -0400, Peter Eisentraut wrote:
>> On 5/25/17 10:18, Masahiko Sawada wrote:
>>>> postgres=# alter subscription c1 connection 'port=4000';
>>>> ALTER SUBSCRIPTION
>>>> postgres=# alter subscription c1 connection 'dbname=cc';
>>>> ALTER SUBSCRIPTION
>>>>
>>> CREATE SUBSCRIPTION tries to connect to publisher to create
>>> replication slot or to get table list for table synchronization, not
>>> to check the connection parameter value. So if you specify connect =
>>> false then CREATE SUBSCRIPTION doesn't try to connect.
>>
>> We don't make a connection attempt as part of ALTER SUBSCRIPTION. I
>> guess we could just connect and disconnect to check that it works.
>
> I think during reconfigurations it's quite useful to be able to do so
> even if the other hosts aren't reachable that second.
>
Yes, it's intended behavior for this very reason, we want ability to
(re)configure downstream without any existing upstream. It's also reason
why we have the WITH (connect = false) in CREATE SUBSCRIPTION. I don't
see a nice way how to do something similar (ie make it optional) for
ALTER though.
-- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training &
Services