@@ -125,10 +125,6 @@ do_backup_pg(InstanceState *instanceState, PGconn *backup_conn,
125
125
check_external_for_tablespaces (external_dirs , backup_conn );
126
126
}
127
127
128
- /* Clear ptrack files for not PTRACK backups */
129
- if (current .backup_mode != BACKUP_MODE_DIFF_PTRACK && nodeInfo -> is_ptrack_enable )
130
- pg_ptrack_clear (backup_conn , nodeInfo -> ptrack_version_num );
131
-
132
128
/* notify start of backup to PostgreSQL server */
133
129
time2iso (label , lengthof (label ), current .start_time , false);
134
130
strncat (label , " with pg_probackup" , lengthof (label ) -
@@ -217,29 +213,14 @@ do_backup_pg(InstanceState *instanceState, PGconn *backup_conn,
217
213
{
218
214
XLogRecPtr ptrack_lsn = get_last_ptrack_lsn (backup_conn , nodeInfo );
219
215
220
- if (nodeInfo -> ptrack_version_num < 200 )
216
+ // new ptrack (>=2.0) is more robust and checks Start LSN
217
+ if (ptrack_lsn > prev_backup -> start_lsn || ptrack_lsn == InvalidXLogRecPtr )
221
218
{
222
- // backward compatibility kludge: use Stop LSN for ptrack 1.x,
223
- if (ptrack_lsn > prev_backup -> stop_lsn || ptrack_lsn == InvalidXLogRecPtr )
224
- {
225
- elog (ERROR , "LSN from ptrack_control %X/%X differs from Stop LSN of previous backup %X/%X.\n"
226
- "Create new full backup before an incremental one." ,
227
- (uint32 ) (ptrack_lsn >> 32 ), (uint32 ) (ptrack_lsn ),
228
- (uint32 ) (prev_backup -> stop_lsn >> 32 ),
229
- (uint32 ) (prev_backup -> stop_lsn ));
230
- }
231
- }
232
- else
233
- {
234
- // new ptrack is more robust and checks Start LSN
235
- if (ptrack_lsn > prev_backup -> start_lsn || ptrack_lsn == InvalidXLogRecPtr )
236
- {
237
- elog (ERROR , "LSN from ptrack_control %X/%X is greater than Start LSN of previous backup %X/%X.\n"
238
- "Create new full backup before an incremental one." ,
239
- (uint32 ) (ptrack_lsn >> 32 ), (uint32 ) (ptrack_lsn ),
240
- (uint32 ) (prev_backup -> start_lsn >> 32 ),
241
- (uint32 ) (prev_backup -> start_lsn ));
242
- }
219
+ elog (ERROR , "LSN from ptrack_control %X/%X is greater than Start LSN of previous backup %X/%X.\n"
220
+ "Create new full backup before an incremental one." ,
221
+ (uint32 ) (ptrack_lsn >> 32 ), (uint32 ) (ptrack_lsn ),
222
+ (uint32 ) (prev_backup -> start_lsn >> 32 ),
223
+ (uint32 ) (prev_backup -> start_lsn ));
243
224
}
244
225
}
245
226
@@ -407,15 +388,10 @@ do_backup_pg(InstanceState *instanceState, PGconn *backup_conn,
407
388
/*
408
389
* Build the page map from ptrack information.
409
390
*/
410
- if (nodeInfo -> ptrack_version_num >= 200 )
411
- make_pagemap_from_ptrack_2 (backup_files_list , backup_conn ,
412
- nodeInfo -> ptrack_schema ,
413
- nodeInfo -> ptrack_version_num ,
414
- prev_backup_start_lsn );
415
- else if (nodeInfo -> ptrack_version_num == 105 ||
416
- nodeInfo -> ptrack_version_num == 106 ||
417
- nodeInfo -> ptrack_version_num == 107 )
418
- make_pagemap_from_ptrack_1 (backup_files_list , backup_conn );
391
+ make_pagemap_from_ptrack_2 (backup_files_list , backup_conn ,
392
+ nodeInfo -> ptrack_schema ,
393
+ nodeInfo -> ptrack_version_num ,
394
+ prev_backup_start_lsn );
419
395
}
420
396
421
397
time (& end_time );
@@ -490,8 +466,6 @@ do_backup_pg(InstanceState *instanceState, PGconn *backup_conn,
490
466
arg -> files_list = backup_files_list ;
491
467
arg -> prev_filelist = prev_backup_filelist ;
492
468
arg -> prev_start_lsn = prev_backup_start_lsn ;
493
- arg -> conn_arg .conn = NULL ;
494
- arg -> conn_arg .cancel_conn = NULL ;
495
469
arg -> hdr_map = & (current .hdr_map );
496
470
arg -> thread_num = i + 1 ;
497
471
/* By default there are some error */
@@ -816,6 +790,7 @@ do_backup(InstanceState *instanceState, pgSetBackupParams *set_backup_params,
816
790
817
791
if (current .backup_mode == BACKUP_MODE_DIFF_PTRACK )
818
792
{
793
+ /* ptrack_version_num < 2.0 was already checked in get_ptrack_version() */
819
794
if (nodeInfo .ptrack_version_num == 0 )
820
795
elog (ERROR , "This PostgreSQL instance does not support ptrack" );
821
796
else
@@ -2085,15 +2060,15 @@ backup_files(void *arg)
2085
2060
/* backup file */
2086
2061
if (file -> is_datafile && !file -> is_cfs )
2087
2062
{
2088
- backup_data_file (& ( arguments -> conn_arg ), file , from_fullpath , to_fullpath ,
2089
- arguments -> prev_start_lsn ,
2090
- current .backup_mode ,
2091
- instance_config .compress_alg ,
2092
- instance_config .compress_level ,
2093
- arguments -> nodeInfo -> checksum_version ,
2094
- arguments -> nodeInfo -> ptrack_version_num ,
2095
- arguments -> nodeInfo -> ptrack_schema ,
2096
- arguments -> hdr_map , false);
2063
+ backup_data_file (file , from_fullpath , to_fullpath ,
2064
+ arguments -> prev_start_lsn ,
2065
+ current .backup_mode ,
2066
+ instance_config .compress_alg ,
2067
+ instance_config .compress_level ,
2068
+ arguments -> nodeInfo -> checksum_version ,
2069
+ arguments -> nodeInfo -> ptrack_version_num ,
2070
+ arguments -> nodeInfo -> ptrack_schema ,
2071
+ arguments -> hdr_map , false);
2097
2072
}
2098
2073
else
2099
2074
{
@@ -2117,10 +2092,6 @@ backup_files(void *arg)
2117
2092
/* ssh connection to longer needed */
2118
2093
fio_disconnect ();
2119
2094
2120
- /* Close connection */
2121
- if (arguments -> conn_arg .conn )
2122
- pgut_disconnect (arguments -> conn_arg .conn );
2123
-
2124
2095
/* Data files transferring is successful */
2125
2096
arguments -> ret = 0 ;
2126
2097
0 commit comments