@@ -34,10 +34,8 @@ def test_backup_via_unprivileged_user(self):
3434 node = self .make_simple_node (
3535 base_dir = os .path .join (module_name , fname , 'node' ),
3636 set_replication = True ,
37- initdb_params = ['--data-checksums' ],
38- pg_options = {
39- 'max_wal_senders' : '2' }
40- )
37+ initdb_params = ['--data-checksums' ])
38+
4139 backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
4240 self .init_pb (backup_dir )
4341 self .add_instance (backup_dir , 'node' , node )
@@ -64,7 +62,15 @@ def test_backup_via_unprivileged_user(self):
6462 "GRANT EXECUTE ON FUNCTION"
6563 " pg_start_backup(text, boolean, boolean) TO backup;" )
6664
67- time .sleep (1 )
65+ if self .get_version (node ) < 100000 :
66+ node .safe_psql (
67+ 'postgres' ,
68+ "GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup" )
69+ else :
70+ node .safe_psql (
71+ 'postgres' ,
72+ "GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup" )
73+
6874 try :
6975 self .backup_node (
7076 backup_dir , 'node' , node , options = ['-U' , 'backup' ])
@@ -84,8 +90,6 @@ def test_backup_via_unprivileged_user(self):
8490 "GRANT EXECUTE ON FUNCTION"
8591 " pg_create_restore_point(text) TO backup;" )
8692
87- time .sleep (1 )
88-
8993 try :
9094 self .backup_node (
9195 backup_dir , 'node' , node , options = ['-U' , 'backup' ])
@@ -129,50 +133,18 @@ def test_backup_via_unprivileged_user(self):
129133 node .stop ()
130134 node .slow_start ()
131135
132- try :
133- self .backup_node (
134- backup_dir , 'node' , node , options = ['-U' , 'backup' ])
135- self .assertEqual (
136- 1 , 0 ,
137- "Expecting Error due to missing grant on clearing ptrack_files." )
138- except ProbackupException as e :
139- self .assertIn (
140- "ERROR: must be superuser or replication role to clear ptrack files\n "
141- "query was: SELECT pg_catalog.pg_ptrack_clear()" , e .message ,
142- '\n Unexpected Error Message: {0}\n CMD: {1}' .format (
143- repr (e .message ), self .cmd ))
144-
145- time .sleep (1 )
146-
147- try :
148- self .backup_node (
149- backup_dir , 'node' , node ,
150- backup_type = 'ptrack' , options = ['-U' , 'backup' ])
151- self .assertEqual (
152- 1 , 0 ,
153- "Expecting Error due to missing grant on clearing ptrack_files." )
154- except ProbackupException as e :
155- self .assertIn (
156- "ERROR: must be superuser or replication role read ptrack files\n "
157- "query was: select pg_catalog.pg_ptrack_control_lsn()" , e .message ,
158- '\n Unexpected Error Message: {0}\n CMD: {1}' .format (
159- repr (e .message ), self .cmd ))
160-
161136 node .safe_psql (
162137 "postgres" ,
163138 "ALTER ROLE backup REPLICATION" )
164139
165- time .sleep (1 )
166-
167140 # FULL
168141 self .backup_node (
169- backup_dir , 'node' , node ,
170- options = ['-U' , 'backup' ])
142+ backup_dir , 'node' , node , options = ['-U' , 'backup' ])
171143
172144 # PTRACK
173- self .backup_node (
174- backup_dir , 'node' , node ,
175- backup_type = 'ptrack' , options = ['-U' , 'backup' ])
145+ # self.backup_node(
146+ # backup_dir, 'node', node,
147+ # backup_type='ptrack', options=['-U', 'backup'])
176148
177149 # Clean after yourself
178150 self .del_test_dir (module_name , fname )
0 commit comments