@@ -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 )
0 commit comments