@@ -584,6 +584,12 @@ def get_backup_filelist_diff(self, filelist_A, filelist_B):
584
584
585
585
return filelist_diff
586
586
587
+ # used for partial restore
588
+ def truncate_every_file_in_dir (self ,path ):
589
+ for file in os .listdir (path ):
590
+ with open (os .path .join (path ,file ),"w" )as f :
591
+ f .close ()
592
+
587
593
def check_ptrack_recovery (self ,idx_dict ):
588
594
size = idx_dict ['size' ]
589
595
for PageNum in range (size ):
@@ -734,20 +740,24 @@ def clean_pb(self, backup_dir):
734
740
735
741
def backup_node (
736
742
self ,backup_dir ,instance ,node ,data_dir = False ,
737
- backup_type = 'full' ,options = [],asynchronous = False ,gdb = False ,
743
+ backup_type = 'full' ,datname = False ,options = [],
744
+ asynchronous = False ,gdb = False ,
738
745
old_binary = False ,return_id = True
739
746
):
740
747
if not node and not data_dir :
741
748
print ('You must provide ether node or data_dir for backup' )
742
749
exit (1 )
743
750
751
+ if not datname :
752
+ datname = 'postgres'
753
+
744
754
cmd_list = [
745
755
'backup' ,
746
756
'-B' ,backup_dir ,
747
757
'--instance={0}' .format (instance ),
748
758
# "-D", pgdata,
749
759
'-p' ,'%i' % node .port ,
750
- '-d' ,'postgres'
760
+ '-d' ,datname
751
761
]
752
762
753
763
if data_dir :