@@ -153,3 +153,85 @@ def test_exclude_unlogged_tables_1(self):
153153
154154 # Clean after yourself
155155 self .del_test_dir (module_name , fname )
156+
157+ # @unittest.skip("skip")
158+ def test_exclude_log_dir (self ):
159+ """
160+ check that by default 'log' and 'pg_log' directories are not backed up
161+ """
162+ fname = self .id ().split ('.' )[3 ]
163+ backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
164+ node = self .make_simple_node (
165+ base_dir = os .path .join (module_name , fname , 'node' ),
166+ set_replication = True ,
167+ initdb_params = ['--data-checksums' ],
168+ pg_options = {
169+ 'logging_collector' : 'on' ,
170+ 'log_filename' : 'postgresql.log' })
171+
172+ self .init_pb (backup_dir )
173+ self .add_instance (backup_dir , 'node' , node )
174+ node .slow_start ()
175+
176+ self .backup_node (
177+ backup_dir , 'node' , node ,
178+ backup_type = 'full' , options = ['--stream' ])
179+
180+ log_dir = node .safe_psql (
181+ 'postgres' ,
182+ 'show log_directory' ).rstrip ()
183+
184+ node .cleanup ()
185+
186+ self .restore_node (
187+ backup_dir , 'node' , node , options = ["-j" , "4" ])
188+
189+ # check that PGDATA/log or PGDATA/pg_log do not exists
190+ path = os .path .join (node .data_dir , log_dir )
191+ log_file = os .path .join (path , 'postgresql.log' )
192+ self .assertTrue (os .path .exists (path ))
193+ self .assertFalse (os .path .exists (log_file ))
194+
195+ # Clean after yourself
196+ self .del_test_dir (module_name , fname )
197+
198+ # @unittest.skip("skip")
199+ def test_exclude_log_dir_1 (self ):
200+ """
201+ check that "--backup-pg-log" works correctly
202+ """
203+ fname = self .id ().split ('.' )[3 ]
204+ backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
205+ node = self .make_simple_node (
206+ base_dir = os .path .join (module_name , fname , 'node' ),
207+ set_replication = True ,
208+ initdb_params = ['--data-checksums' ],
209+ pg_options = {
210+ 'logging_collector' : 'on' ,
211+ 'log_filename' : 'postgresql.log' })
212+
213+ self .init_pb (backup_dir )
214+ self .add_instance (backup_dir , 'node' , node )
215+ node .slow_start ()
216+
217+ log_dir = node .safe_psql (
218+ 'postgres' ,
219+ 'show log_directory' ).rstrip ()
220+
221+ self .backup_node (
222+ backup_dir , 'node' , node ,
223+ backup_type = 'full' , options = ['--stream' , '--backup-pg-log' ])
224+
225+ node .cleanup ()
226+
227+ self .restore_node (
228+ backup_dir , 'node' , node , options = ["-j" , "4" ])
229+
230+ # check that PGDATA/log or PGDATA/pg_log do not exists
231+ path = os .path .join (node .data_dir , log_dir )
232+ log_file = os .path .join (path , 'postgresql.log' )
233+ self .assertTrue (os .path .exists (path ))
234+ self .assertTrue (os .path .exists (log_file ))
235+
236+ # Clean after yourself
237+ self .del_test_dir (module_name , fname )
0 commit comments