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