@@ -1889,8 +1889,7 @@ def test_backup_with_least_privileges_role(self):
18891889"GRANT EXECUTE ON FUNCTION pg_catalog.pg_start_backup(text, boolean) TO backup; "
18901890"GRANT EXECUTE ON FUNCTION pg_catalog.pg_stop_backup() TO backup; "
18911891"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
1892- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
1893- )
1892+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
18941893# PG 9.6
18951894elif self .get_version (node )> 90600 and self .get_version (node )< 100000 :
18961895node .safe_psql (
@@ -1928,9 +1927,7 @@ def test_backup_with_least_privileges_role(self):
19281927"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup; "
19291928"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
19301929"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
1931- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
1932- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
1933- )
1930+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
19341931# >= 10
19351932else :
19361933node .safe_psql (
@@ -1967,9 +1964,7 @@ def test_backup_with_least_privileges_role(self):
19671964"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; "
19681965"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
19691966"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
1970- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
1971- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
1972- )
1967+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
19731968
19741969if self .ptrack :
19751970node .safe_psql (
@@ -1982,10 +1977,10 @@ def test_backup_with_least_privileges_role(self):
19821977"GRANT EXECUTE ON FUNCTION ptrack.ptrack_init_lsn() TO backup;" )
19831978
19841979if ProbackupTest .enterprise :
1985-
19861980node .safe_psql (
19871981"backupdb" ,
1988- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup" )
1982+ "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup; "
1983+ "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;" )
19891984
19901985# FULL backup
19911986self .backup_node (
@@ -2245,7 +2240,6 @@ def test_backup_with_less_privileges_role(self):
22452240if self .get_version (node )< 90600 :
22462241node .safe_psql (
22472242'backupdb' ,
2248- "BEGIN; "
22492243"CREATE ROLE backup WITH LOGIN; "
22502244"GRANT USAGE ON SCHEMA pg_catalog TO backup; "
22512245"GRANT EXECUTE ON FUNCTION pg_catalog.current_setting(text) TO backup; "
@@ -2256,14 +2250,11 @@ def test_backup_with_less_privileges_role(self):
22562250"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup; "
22572251"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup; "
22582252"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
2259- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup; "
2260- "COMMIT;"
2261- )
2253+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
22622254# PG 9.6
22632255elif self .get_version (node )> 90600 and self .get_version (node )< 100000 :
22642256node .safe_psql (
22652257'backupdb' ,
2266- "BEGIN; "
22672258"CREATE ROLE backup WITH LOGIN; "
22682259"GRANT USAGE ON SCHEMA pg_catalog TO backup; "
22692260"GRANT EXECUTE ON FUNCTION pg_catalog.current_setting(text) TO backup; "
@@ -2275,14 +2266,11 @@ def test_backup_with_less_privileges_role(self):
22752266"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
22762267"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup; "
22772268"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
2278- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup; "
2279- "COMMIT;"
2280- )
2269+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
22812270# >= 10
22822271else :
22832272node .safe_psql (
22842273'backupdb' ,
2285- "BEGIN; "
22862274"CREATE ROLE backup WITH LOGIN; "
22872275"GRANT USAGE ON SCHEMA pg_catalog TO backup; "
22882276"GRANT EXECUTE ON FUNCTION pg_catalog.current_setting(text) TO backup; "
@@ -2294,9 +2282,7 @@ def test_backup_with_less_privileges_role(self):
22942282"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
22952283"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup; "
22962284"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
2297- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup; "
2298- "COMMIT;"
2299- )
2285+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
23002286
23012287# enable STREAM backup
23022288node .safe_psql (
@@ -3067,9 +3053,7 @@ def test_missing_replication_permission(self):
30673053"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup; "
30683054"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
30693055"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3070- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3071- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
3072- )
3056+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
30733057# >= 10
30743058else :
30753059node .safe_psql (
@@ -3091,15 +3075,14 @@ def test_missing_replication_permission(self):
30913075"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; "
30923076"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
30933077"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3094- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3095- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
3096- )
3078+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
30973079
30983080if ProbackupTest .enterprise :
30993081node .safe_psql (
31003082"backupdb" ,
3101- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup" )
3102-
3083+ "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup; "
3084+ "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;" )
3085+
31033086sleep (2 )
31043087replica .promote ()
31053088
@@ -3177,8 +3160,7 @@ def test_missing_replication_permission_1(self):
31773160"GRANT EXECUTE ON FUNCTION pg_catalog.pg_start_backup(text, boolean) TO backup; "
31783161"GRANT EXECUTE ON FUNCTION pg_catalog.pg_stop_backup() TO backup; "
31793162"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3180- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3181- )
3163+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
31823164# PG 9.6
31833165elif self .get_version (node )> 90600 and self .get_version (node )< 100000 :
31843166node .safe_psql (
@@ -3201,9 +3183,7 @@ def test_missing_replication_permission_1(self):
32013183"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup; "
32023184"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
32033185"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3204- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3205- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
3206- )
3186+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
32073187# >= 10
32083188else :
32093189node .safe_psql (
@@ -3225,15 +3205,13 @@ def test_missing_replication_permission_1(self):
32253205"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; "
32263206"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
32273207"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3228- "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3229- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
3230-
3231- )
3208+ "GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;" )
32323209
32333210if ProbackupTest .enterprise :
32343211node .safe_psql (
32353212"backupdb" ,
3236- "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup" )
3213+ "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup; "
3214+ "GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;" )
32373215
32383216replica .promote ()
32393217