@@ -303,3 +303,43 @@ def test_full_pgpro417(self):
303303
304304 # Clean after yourself
305305 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