Thread: PgBackRest : Restore to a checkpoint shows further transactions

PgBackRest : Restore to a checkpoint shows further transactions

From
KK CHN
Date:
List,


PgBackRest :  I tried to restore the latest backup taken at my RepoServer to a  testing EPAS server freshly deployed .

I have a full backup, two diff  and one INCR  as on today morning.   The latest one is INCR 


    full backup: 20240922-232733F
            timestamp start/stop: 2024-09-22 23:27:33+05:30 / 2024-09-23 09:17:00+05:30

  diff backup: 20240922-232733F_20240924-222336D
            timestamp start/stop: 2024-09-24 22:23:36+05:30 / 2024-09-24 22:55:41+05:30


 incr backup: 20240922-232733F_20240925-082637I
            timestamp start/stop: 2024-09-25 08:26:37+05:30 / 2024-09-25 08:36:00+05:30



On my Test  EPAS Server : 

[root@dbch ~]# sudo -u enterprisedb pgbackrest --stanza=Repo1  --delta --set=20240922-232733F_20240925-082637I  --target-timeline=current  restore


2024-09-25 10:28:42.493 P00   INFO: restore command end: completed successfully (2657236ms)


Now I  comment out the archive command in the test EPAS server postgresql.conf  and started the EPAS server.


WHen I issue a query  to select few rows  To my surprise  I am seeing the records with columns with time stamp up to a time 10.36:11:968  and  10:36:13.363 :  


How did this happen ?   I specified the restore point file (incr) taken at  2024-09-25 08:26:37,   naturally  I expected restore may show  records up to this time stamp or   up to 2024-09-25 08:36:00+05:30   but it shows further to  10.36:11:968  and  0:36:13.363 but not beyond this !!!


But my restore  ends successfully   at  2024-09-25 10:28:42.493 P00   INFO: restore command end: completed successfully (2657236ms)

 Could someone explain how this comes about ?

But no other records  latest  than  10.36:11:968  and  0:36:13.363   showing  .. How is it delimited here at this time stamp ? 


SO  I guess this is due to specifying  --target-timeline=current    ?  But restore finished at 10.28:42.493  

OR

 Does this take all wal and replay up to  the  EPAS  service starting  time of the testing EPAS server


Thank you,

Krishane.


For more inputs :  I have queried like this below.. 


t_db=# select * from c.cti_all_info  ORDER BY received_time DESC LIMIT 1;
   id    | caller_number |  call_identifier   |     ivr_start_time      | ivr_connect_time | ivr_drop_time | ivr_drop_reason | call_landing_time | call_start_time |      call_end_time      | call_drop_reason
| sip_extension | call_direction |

                                                                                         message_list

                                                                                                                                                             | voice_path | partition_key |      received_time
   | remarks | source_ip_address | pilot_number
---------+---------------+--------------------+-------------------------+------------------+---------------+-----------------+-------------------+-----------------+-------------------------+-------------------
+---------------+----------------------------------------------------------------------------------------------------------------------------+------------+---------------+----------------------
---+---------+-------------------+--------------
 66769044 |    555657643942 | 140771.5140 | 2024-09-25 10:36:11.968 |                  |               |                 |                   |                 | 2024-09-25 10:36:13.363 | User Disconnected
|               | IN             | ["{\"srcType\":\"ACS\",\"srId\":\"



I have PgBack successfully running on a Production Server and a Repo Server   RHEL9.4, PgBackRest 2.52.1 and EPAS 16.1 .  Restore performing for the first time. 





Re: PgBackRest : Restore to a checkpoint shows further transactions

From
Adrian Klaver
Date:
On 9/24/24 23:12, KK CHN wrote:
> List,
> 
> 
> PgBackRest :  I tried to restore the latest backup taken at my 

> WHen I issue a query  to select few rows  To my surprise  I am seeing 
> the records with columns with time stamp up to a time 10.36:11:968  and  
> 10:36:13.363 :
> 
> 
> How did this happen ?   I specified the restore point file (incr) taken 
> at 2024-09-25 08:26:37,  naturally  I expected restore may show  records 
> up to this time stamp or   up to2024-09-25 08:36:00+05:30   but it shows 
> further to 10.36:11:968  and 0:36:13.363 but not beyond this !!!

0:36:13.363 of what date?

What is the type of the timestamp fields you are looking at, timestamp 
or timestamptz?

> Thank you,
> 
> Krishane.
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com




Re: PgBackRest : Restore to a checkpoint shows further transactions

From
Greg Sabino Mullane
Date:
On Wed, Sep 25, 2024 at 2:13 AM KK CHN <kkchn.in@gmail.com> wrote:
PgBackRest :  I tried to restore the latest backup taken at my RepoServer to a  testing EPAS server freshly deployed .
... 
Now I  comment out the archive command in the test EPAS server postgresql.conf  and started the EPAS server.

* To disable archiving, you can pass --archive-mode=off to pgbackrest in the restore command. Actually, for safety, you should always use this argument when restoring.

* Please say "Postgres" not "EPAS"

* The restore starts from your incremental backup, but then it will replay WAL created after that backup. Check out the postgresql.auto.conf file.

* I think what you are looking for is --type=immediate

* For debugging and helping to learn, it can be useful to use --pg1-path=/tmp/restoretest to restore to a different data directory. Just remember to change the port. And always use --archive-mode=off :)

See specifically this section of the docs: https://pgbackrest.org/command.html#command-restore

Cheers,
Greg