Re: Review my steps for rollback to restore point - Mailing list pgsql-general

From chandan Kumar
Subject Re: Review my steps for rollback to restore point
Date
Msg-id CAHV6zV=TP=LYexUs8ZTmJxYeoX2HKJHmVPApgrc3WJfYb3niDA@mail.gmail.com
Whole thread Raw
In response to Re: Review my steps for rollback to restore point  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: Review my steps for rollback to restore point
Re: Review my steps for rollback to restore point
List pgsql-general
Thank you for your answer.  I want to clarify one more doubt.  Can PITR be achieved without applying Base Backup

On Tue, Mar 4, 2025 at 3:12 PM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Tue, 2025-03-04 at 14:26 +0530, chandan Kumar wrote:
> Hello,
>  I hope you are doing fine. I need your expertise on below case study.
> My current production environment is 2 node streaming replication hosted on
> Ubuntu VM 's on Azure. I have performed below steps on primary database.
> 1- Take Base backup
> 2-  Create a restore point using pg_create_restore_point()
> 3-  executed some DDL statement (CREATE VIEW,ADD INDEX,DROP INDEX)
> 4-  Perform rollback using restore point
>  To rollback, you must stop PostgreSQL, restore the last full backup, and apply
>  WAL files until the restore point:
> 1. Stop PostgreSQL Service
> 2. Restore from Full Backup (Using pg_basebackup)
> 3. Modify recovery.conf (or postgresql.conf for newer versions)
> o Set recovery target name:
>                                               recovery_target_name = 'before_ddl_changes'
>                                               recovery_target_action = 'pause'
> o Set restore_command to replay WAL logs:
>                                              restore_command = 'cp /path/to/wal_archive/%f %p'
> 4. Start PostgreSQL
>                  sudo systemctl start postgresql
> 5. Verify Recovery Status
>                 SELECT pg_is_in_recovery();
>                 After verification, finalize recovery:
>                 touch /var/lib/postgresql/data/recovery.signal
>                 or
>                 rm /var/lib/postgresql/data/recovery.conf
>                Then restart PostgreSQL.
> 6. Reestablish replication 
>
> Could you please help if my steps are correct ? Can we achieve rollback from any
> other approach without restoring basebackup?

You have to create /var/lib/postgresql/data/recovery.signal *before* you
start the server.  Forget about "recovery.conf", that was before v12.

You can set "recovery_target_action = 'promote'".

Yours,
Laurenz Albe


--
With warm regards
     Chandan

pgsql-general by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: Review my steps for rollback to restore point
Next
From: "David G. Johnston"
Date:
Subject: Re: Review my steps for rollback to restore point