Re: Disable Streaming Replication without restarting either master or slave - Mailing list pgsql-general

From Fujii Masao
Subject Re: Disable Streaming Replication without restarting either master or slave
Date
Msg-id CAHGQGwG0V+Q5aH0A5kdGpdBYTxzH=WHqY3xUVoZ-mDfNwD1WwA@mail.gmail.com
Whole thread Raw
In response to Disable Streaming Replication without restarting either master or slave  (Samba <saasira@gmail.com>)
List pgsql-general
On Tue, May 29, 2012 at 7:18 PM, Samba <saasira@gmail.com> wrote:
> Hi,
>
>
> Is it possible stop/disable streaming replication without stopping or
> restarting either master or slave servers?
>
> Since stopping or restarting the postgres servers would involve complete
> invalidation of the connection pool [Java/JEE app server pool] that may take
> a few minutes before the application becomes usable, it would be great if
> there is a way we can disable replication [for maintenance reasons like
> applying patches or upgrades, etc].

There is no clean way to disable streaming replication. But you can do that
by the following steps:

1. change pg_hba.conf in the master so that the master does not accept new
    replication connection
2. reload pg_hba.conf in the master
3. send SIGTERM signal to currently-running walsender process, e.g., by
    "select pg_terminate_backend(pid) from pg_stat_replication".

Then replication connection will be terminated. The standby tries reconnecting
to the master, but which will continue failing until you'll change pg_hba.conf
again.

Regards,

--
Fujii Masao

pgsql-general by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: Export and import from one postgres server to another
Next
From: Fujii Masao
Date:
Subject: Re: Disable Streaming Replication without restarting either master or slave