@@ -20,9 +20,9 @@ def setUp(self):
2020 self .node = self .make_simple_node (
2121 base_dir = "{0}/{1}/node" .format (module_name , self .fname ),
2222 set_replication = True ,
23+ ptrack_enable = True ,
2324 initdb_params = ['--data-checksums' ],
2425 pg_options = {
25- 'ptrack_enable' : 'on' ,
2626 'cfs_encryption' : 'off' ,
2727 'max_wal_senders' : '2' ,
2828 'shared_buffers' : '200MB'
@@ -35,18 +35,27 @@ def setUp(self):
3535
3636 self .node .slow_start ()
3737
38+ if self .node .major_version >= 12 :
39+ self .node .safe_psql (
40+ "postgres" ,
41+ "CREATE EXTENSION ptrack" )
42+
3843 self .create_tblspace_in_node (self .node , tblspace_name , cfs = True )
3944
4045 tblspace = self .node .safe_psql (
4146 "postgres" ,
4247 "SELECT * FROM pg_tablespace WHERE spcname='{0}'" .format (
43- tblspace_name )
44- )
45- self .assertTrue (
46- tblspace_name in tblspace and "compression=true" in tblspace ,
48+ tblspace_name ))
49+
50+ self .assertIn (
51+ tblspace_name , str ( tblspace ) ,
4752 "ERROR: The tablespace not created "
48- "or it create without compressions"
49- )
53+ "or it create without compressions" )
54+
55+ self .assertIn (
56+ "compression=true" , str (tblspace ),
57+ "ERROR: The tablespace not created "
58+ "or it create without compressions" )
5059
5160 self .assertTrue (
5261 find_by_name (
@@ -473,7 +482,7 @@ def test_fullbackup_empty_tablespace_page_after_create_table_stream(self):
473482 )
474483
475484 # --- Section: Incremental from fill tablespace --- #
476- @unittest .expectedFailure
485+ # @unittest.expectedFailure
477486 # @unittest.skip("skip")
478487 @unittest .skipUnless (ProbackupTest .enterprise , 'skip' )
479488 def test_fullbackup_after_create_table_ptrack_after_create_table (self ):
@@ -537,7 +546,7 @@ def test_fullbackup_after_create_table_ptrack_after_create_table(self):
537546 )
538547 )
539548
540- @unittest .expectedFailure
549+ # @unittest.expectedFailure
541550 # @unittest.skip("skip")
542551 @unittest .skipUnless (ProbackupTest .enterprise , 'skip' )
543552 def test_fullbackup_after_create_table_ptrack_after_create_table_stream (self ):
@@ -603,7 +612,7 @@ def test_fullbackup_after_create_table_ptrack_after_create_table_stream(self):
603612 )
604613 )
605614
606- @unittest .expectedFailure
615+ # @unittest.expectedFailure
607616 # @unittest.skip("skip")
608617 @unittest .skipUnless (ProbackupTest .enterprise , 'skip' )
609618 def test_fullbackup_after_create_table_page_after_create_table (self ):
@@ -738,12 +747,14 @@ def test_multiple_segments(self):
738747 # CHECK FULL BACKUP
739748 self .node .stop ()
740749 self .node .cleanup ()
741- shutil .rmtree (
742- self .get_tblspace_path (self .node , tblspace_name ),
743- ignore_errors = True )
750+ shutil .rmtree (self .get_tblspace_path (self .node , tblspace_name ))
744751 self .restore_node (
745- self .backup_dir , 'node' , self .node ,
746- backup_id = backup_id_full , options = ["-j" , "4" ])
752+ self .backup_dir , 'node' , self .node , backup_id = backup_id_full ,
753+ options = [
754+ "-j" , "4" ,
755+ "--recovery-target=immediate" ,
756+ "--recovery-target-action=promote" ])
757+
747758 self .node .slow_start ()
748759 self .assertEqual (
749760 full_result ,
@@ -757,8 +768,12 @@ def test_multiple_segments(self):
757768 self .get_tblspace_path (self .node , tblspace_name ),
758769 ignore_errors = True )
759770 self .restore_node (
760- self .backup_dir , 'node' , self .node ,
761- backup_id = backup_id_page , options = ["-j" , "4" ])
771+ self .backup_dir , 'node' , self .node , backup_id = backup_id_page ,
772+ options = [
773+ "-j" , "4" ,
774+ "--recovery-target=immediate" ,
775+ "--recovery-target-action=promote" ])
776+
762777 self .node .slow_start ()
763778 self .assertEqual (
764779 page_result ,
@@ -786,17 +801,15 @@ def test_multiple_segments_in_multiple_tablespaces(self):
786801 "AS SELECT i AS id, MD5(i::text) AS text, "
787802 "MD5(repeat(i::text,10))::tsvector AS tsvector "
788803 "FROM generate_series(0,1005000) i" .format (
789- 't_heap_1' , tblspace_name_1 )
790- )
804+ 't_heap_1' , tblspace_name_1 ))
791805
792806 self .node .safe_psql (
793807 "postgres" ,
794808 "CREATE TABLE {0} TABLESPACE {1} "
795809 "AS SELECT i AS id, MD5(i::text) AS text, "
796810 "MD5(repeat(i::text,10))::tsvector AS tsvector "
797811 "FROM generate_series(0,1005000) i" .format (
798- 't_heap_2' , tblspace_name_2 )
799- )
812+ 't_heap_2' , tblspace_name_2 ))
800813
801814 full_result_1 = self .node .safe_psql (
802815 "postgres" , "SELECT * FROM t_heap_1" )
@@ -864,21 +877,16 @@ def test_multiple_segments_in_multiple_tablespaces(self):
864877
865878 # CHECK FULL BACKUP
866879 self .node .stop ()
867- self .node .cleanup ()
868- shutil .rmtree (
869- self .get_tblspace_path (self .node , tblspace_name ),
870- ignore_errors = True )
871- shutil .rmtree (
872- self .get_tblspace_path (self .node , tblspace_name_1 ),
873- ignore_errors = True )
874- shutil .rmtree (
875- self .get_tblspace_path (self .node , tblspace_name_2 ),
876- ignore_errors = True )
877880
878881 self .restore_node (
879882 self .backup_dir , 'node' , self .node ,
880- backup_id = backup_id_full , options = ["-j" , "4" ])
883+ backup_id = backup_id_full ,
884+ options = [
885+ "-j" , "4" , "--incremental-mode=checksum" ,
886+ "--recovery-target=immediate" ,
887+ "--recovery-target-action=promote" ])
881888 self .node .slow_start ()
889+
882890 self .assertEqual (
883891 full_result_1 ,
884892 self .node .safe_psql ("postgres" , "SELECT * FROM t_heap_1" ),
@@ -890,21 +898,16 @@ def test_multiple_segments_in_multiple_tablespaces(self):
890898
891899 # CHECK PAGE BACKUP
892900 self .node .stop ()
893- self .node .cleanup ()
894- shutil .rmtree (
895- self .get_tblspace_path (self .node , tblspace_name ),
896- ignore_errors = True )
897- shutil .rmtree (
898- self .get_tblspace_path (self .node , tblspace_name_1 ),
899- ignore_errors = True )
900- shutil .rmtree (
901- self .get_tblspace_path (self .node , tblspace_name_2 ),
902- ignore_errors = True )
903901
904902 self .restore_node (
905903 self .backup_dir , 'node' , self .node ,
906- backup_id = backup_id_page , options = ["-j" , "4" ])
904+ backup_id = backup_id_page ,
905+ options = [
906+ "-j" , "4" , "--incremental-mode=checksum" ,
907+ "--recovery-target=immediate" ,
908+ "--recovery-target-action=promote" ])
907909 self .node .slow_start ()
910+
908911 self .assertEqual (
909912 page_result_1 ,
910913 self .node .safe_psql ("postgres" , "SELECT * FROM t_heap_1" ),
@@ -914,7 +917,7 @@ def test_multiple_segments_in_multiple_tablespaces(self):
914917 self .node .safe_psql ("postgres" , "SELECT * FROM t_heap_2" ),
915918 'Lost data after restore' )
916919
917- @unittest .expectedFailure
920+ # @unittest.expectedFailure
918921 # @unittest.skip("skip")
919922 @unittest .skipUnless (ProbackupTest .enterprise , 'skip' )
920923 def test_fullbackup_after_create_table_page_after_create_table_stream (self ):
0 commit comments