@@ -181,8 +181,7 @@ def test_exclude_unlogged_tables_1(self):
181181
182182 self .backup_node (
183183 backup_dir , 'node' , node , backup_type = 'delta' ,
184- options = ['--stream' ]
185- )
184+ options = ['--stream' ])
186185
187186 pgdata = self .pgdata_content (node .data_dir )
188187
@@ -201,6 +200,67 @@ def test_exclude_unlogged_tables_1(self):
201200 # Clean after yourself
202201 self .del_test_dir (module_name , fname )
203202
203+ # @unittest.skip("skip")
204+ def test_exclude_unlogged_tables_2 (self ):
205+ """
206+ make node, create unlogged, take FULL, check
207+ that unlogged was not backed up
208+ """
209+ fname = self .id ().split ('.' )[3 ]
210+ backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
211+ node = self .make_simple_node (
212+ base_dir = os .path .join (module_name , fname , 'node' ),
213+ set_replication = True ,
214+ initdb_params = ['--data-checksums' ],
215+ pg_options = {
216+ "shared_buffers" : "10MB" })
217+
218+ self .init_pb (backup_dir )
219+ self .add_instance (backup_dir , 'node' , node )
220+ self .set_archiving (backup_dir , 'node' , node )
221+ node .slow_start ()
222+
223+ for backup_type in ['full' , 'delta' , 'page' ]:
224+
225+ if backup_type == 'full' :
226+ node .safe_psql (
227+ 'postgres' ,
228+ 'create unlogged table test as select generate_series(0,20050000)::text' )
229+ else :
230+ node .safe_psql (
231+ 'postgres' ,
232+ 'insert into test select generate_series(0,20050000)::text' )
233+
234+ rel_path = node .safe_psql (
235+ 'postgres' ,
236+ "select pg_relation_filepath('test')" ).decode ('utf-8' ).rstrip ()
237+
238+ backup_id = self .backup_node (
239+ backup_dir , 'node' , node ,
240+ backup_type = backup_type , options = ['--stream' ])
241+
242+ filelist = self .get_backup_filelist (
243+ backup_dir , 'node' , backup_id )
244+
245+ self .assertNotIn (
246+ rel_path , filelist ,
247+ "Unlogged table was not excluded" )
248+
249+ self .assertNotIn (
250+ rel_path + '.1' , filelist ,
251+ "Unlogged table was not excluded" )
252+
253+ self .assertNotIn (
254+ rel_path + '.2' , filelist ,
255+ "Unlogged table was not excluded" )
256+
257+ self .assertNotIn (
258+ rel_path + '.3' , filelist ,
259+ "Unlogged table was not excluded" )
260+
261+ # Clean after yourself
262+ self .del_test_dir (module_name , fname )
263+
204264 # @unittest.skip("skip")
205265 def test_exclude_log_dir (self ):
206266 """
0 commit comments