Re: promote a deferred standby without applying WALs

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: "Zwettler Markus (OIZ)" <Markus(dot)Zwettler(at)zuerich(dot)ch>, "pgsql-admin(at)lists(dot)postgresql(dot)org" <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: promote a deferred standby without applying WALs
Date: 2024-07-16 08:40:55
Message-ID: 32b72ef82aba2e54a1eaaab248197a47091d675c.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Tue, 2024-07-16 at 08:04 +0000, Zwettler Markus (OIZ) wrote:
> I have a standby database running 3 hours behind the primary (recovery_min_apply_delay = '3h').
>  
> In case of a logical error on the primary I want to promote the standby database which still has correct data.
>  
> The standby should not apply any more WAL in that case.
>  
> It seems that this can only be done manually:
>  
>    1. pg_ctl stop
>    2. rm -rf standby.signal
>    3. set primary_conninfo = ''
>    4. pg_ctl start
>  
> Is there no single command on this?

I don't think there is a single command.

I would just set "recovery_target_time" to the appropriate time and reload.

Perhaps this could be the single command:

psql -c "ALTER SYSTEM SET recovery_target_time = '2024-07-16 12:00:00'" -c "SELECT pg_reload_conf()"

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Zwettler Markus (OIZ) 2024-07-16 09:01:43 AW: [Extern] Re: promote a deferred standby without applying WALs
Previous Message Zwettler Markus (OIZ) 2024-07-16 08:04:14 promote a deferred standby without applying WALs