@@ -3378,3 +3378,48 @@ def test_restore_primary_conninfo(self):
33783378
33793379 # Clean after yourself
33803380 self .del_test_dir (module_name , fname )
3381+
3382+ # @unittest.skip("skip")
3383+ def test_restore_primary_slot_info (self ):
3384+ """
3385+ """
3386+ fname = self .id ().split ('.' )[3 ]
3387+ node = self .make_simple_node (
3388+ base_dir = os .path .join (module_name , fname , 'node' ),
3389+ set_replication = True ,
3390+ initdb_params = ['--data-checksums' ])
3391+
3392+ backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
3393+ self .init_pb (backup_dir )
3394+ self .add_instance (backup_dir , 'node' , node )
3395+ node .slow_start ()
3396+
3397+ # Take FULL
3398+ self .backup_node (backup_dir , 'node' , node , options = ['--stream' ])
3399+
3400+ node .pgbench_init (scale = 1 )
3401+
3402+ replica = self .make_simple_node (
3403+ base_dir = os .path .join (module_name , fname , 'replica' ))
3404+ replica .cleanup ()
3405+
3406+ node .safe_psql (
3407+ "SELECT pg_create_physical_replication_slot('master_slot')" )
3408+
3409+ self .restore_node (
3410+ backup_dir , 'node' , replica ,
3411+ options = ['-R' , '--primary-slot-name=master_slot' ])
3412+
3413+ self .set_auto_conf (replica , {'port' : replica .port })
3414+ self .set_auto_conf (replica , {'hot_standby' : 'on' })
3415+
3416+ if self .get_version (node ) >= self .version_to_num ('12.0' ):
3417+ standby_signal = os .path .join (replica .data_dir , 'standby.signal' )
3418+ self .assertTrue (
3419+ os .path .isfile (standby_signal ),
3420+ "File '{0}' do not exists" .format (standby_signal ))
3421+
3422+ replica .slow_start (replica = True )
3423+
3424+ # Clean after yourself
3425+ self .del_test_dir (module_name , fname )
0 commit comments