@@ -303,3 +303,43 @@ def test_full_pgpro417(self):
303
303
304
304
# Clean after yourself
305
305
self .del_test_dir (module_name ,fname )
306
+
307
+ # @unittest.skip("skip")
308
+ def test_drop_db (self ):
309
+ """Make node, create database, create table in database, take ptrack backup, drop database, take ptrack backup"""
310
+ self .maxDiff = None
311
+ fname = self .id ().split ('.' )[3 ]
312
+ backup_dir = os .path .join (self .tmp_path ,module_name ,fname ,'backup' )
313
+ node = self .make_simple_node (base_dir = "{0}/{1}/node" .format (module_name ,fname ),
314
+ set_replication = True ,
315
+ initdb_params = ['--data-checksums' ],
316
+ pg_options = {'wal_level' :'replica' ,'max_wal_senders' :'2' ,'checkpoint_timeout' :'30s' ,'ptrack_enable' :'on' }
317
+ )
318
+
319
+ self .init_pb (backup_dir )
320
+ self .add_instance (backup_dir ,'node' ,node )
321
+ node .start ()
322
+
323
+ # FULL BACKUP
324
+ node .safe_psql (
325
+ "postgres" ,
326
+ "create table t_heap as select i as id, md5(i::text) as text, md5(i::text)::tsvector as tsvector from generate_series(0,100) i" )
327
+ node .safe_psql ("postgres" ,"SELECT * FROM t_heap" )
328
+ self .backup_node (backup_dir ,'node' ,node ,options = ["--stream" ])
329
+
330
+ # PTRACK BACKUP
331
+ node .safe_psql (
332
+ "postgres" ,"create database db1" )
333
+ node .safe_psql ("db1" ,"create table t_heap as select i as id, md5(i::text) as text, md5(i::text)::tsvector as tsvector from generate_series(0,100) i" )
334
+ self .backup_node (backup_dir ,'node' ,node ,backup_type = 'ptrack' ,options = ["--stream" ])
335
+
336
+ node .safe_psql (
337
+ "postgres" ,"checkpoint;" )
338
+
339
+ # SECOND PTRACK BACKUP
340
+ node .safe_psql (
341
+ "postgres" ,"drop database db1" )
342
+ self .backup_node (backup_dir ,'node' ,node ,backup_type = 'ptrack' ,options = ["--stream" ])
343
+
344
+ # Clean after yourself
345
+ self .del_test_dir (module_name ,fname )