Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3d7b9f0

Browse files
authored
[PBCKP-258] fix multiple permission tests (reverta3ac7d5… (#527)
1 parenta58c183 commit3d7b9f0

File tree

4 files changed

+41
-64
lines changed

4 files changed

+41
-64
lines changed

‎.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ env:
3737
# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=archive
3838
# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=backup
3939
# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=catchup
40+
# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE MODE=checkdb
4041
# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=compression
4142
# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=delta
4243
# - PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=OFF MODE=locking
@@ -52,6 +53,7 @@ env:
5253
jobs:
5354
allow_failures:
5455
-if:env(PG_BRANCH) = master
56+
-if:env(PG_BRANCH) = REL_15_STABLE
5557
-if:env(PG_BRANCH) = REL9_5_STABLE
5658
# - if: env(MODE) IN (archive, backup, delta, locking, merge, replica, retention, restore)
5759

‎tests/backup.py

Lines changed: 18 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -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
18951894
elifself.get_version(node)>90600andself.get_version(node)<100000:
18961895
node.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
19351932
else:
19361933
node.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

19741969
ifself.ptrack:
19751970
node.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

19841979
ifProbackupTest.enterprise:
1985-
19861980
node.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
19911986
self.backup_node(
@@ -2245,7 +2240,6 @@ def test_backup_with_less_privileges_role(self):
22452240
ifself.get_version(node)<90600:
22462241
node.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
22632255
elifself.get_version(node)>90600andself.get_version(node)<100000:
22642256
node.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
22822271
else:
22832272
node.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
23022288
node.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
30743058
else:
30753059
node.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

30983080
ifProbackupTest.enterprise:
30993081
node.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+
31033086
sleep(2)
31043087
replica.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
31833165
elifself.get_version(node)>90600andself.get_version(node)<100000:
31843166
node.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
32083188
else:
32093189
node.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

32333210
ifProbackupTest.enterprise:
32343211
node.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

32383216
replica.promote()
32393217

‎tests/checkdb.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -666,8 +666,8 @@ def test_checkdb_with_least_privileges(self):
666666
'GRANT EXECUTE ON FUNCTION pg_catalog.pg_is_in_recovery() TO backup; '
667667
'GRANT EXECUTE ON FUNCTION pg_catalog.string_to_array(text, text) TO backup; '
668668
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anyarray, anyelement) TO backup; '
669-
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'# amcheck-next function
670-
)
669+
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;')# amcheck-next function
670+
671671
# PG 9.6
672672
elifself.get_version(node)>90600andself.get_version(node)<100000:
673673
node.safe_psql(
@@ -696,9 +696,8 @@ def test_checkdb_with_least_privileges(self):
696696
'GRANT EXECUTE ON FUNCTION pg_catalog.string_to_array(text, text) TO backup; '
697697
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anyarray, anyelement) TO backup; '
698698
# 'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; '
699-
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'
700-
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
701-
)
699+
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;')
700+
702701
# PG 10
703702
elifself.get_version(node)>100000andself.get_version(node)<110000:
704703
node.safe_psql(
@@ -726,10 +725,8 @@ def test_checkdb_with_least_privileges(self):
726725
'GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_system() TO backup; '
727726
'GRANT EXECUTE ON FUNCTION pg_catalog.string_to_array(text, text) TO backup; '
728727
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anyarray, anyelement) TO backup;'
729-
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; '
730-
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'
731-
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
732-
)
728+
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup;')
729+
733730
ifProbackupTest.enterprise:
734731
# amcheck-1.1
735732
node.safe_psql(
@@ -768,9 +765,8 @@ def test_checkdb_with_least_privileges(self):
768765
'GRANT EXECUTE ON FUNCTION pg_catalog.string_to_array(text, text) TO backup; '
769766
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anyarray, anyelement) TO backup; '
770767
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; '
771-
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'
772-
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
773-
)
768+
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;')
769+
774770
# checkunique parameter
775771
ifProbackupTest.enterprise:
776772
if (self.get_version(node)>=111300andself.get_version(node)<120000
@@ -807,15 +803,20 @@ def test_checkdb_with_least_privileges(self):
807803
'GRANT EXECUTE ON FUNCTION pg_catalog.string_to_array(text, text) TO backup; '
808804
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anycompatiblearray, anycompatible) TO backup; '
809805
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; '
810-
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'
811-
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
812-
)
806+
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;')
807+
813808
# checkunique parameter
814809
ifProbackupTest.enterprise:
815810
node.safe_psql(
816811
"backupdb",
817812
"GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool, bool) TO backup")
818813

814+
ifProbackupTest.enterprise:
815+
node.safe_psql(
816+
'backupdb',
817+
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup; '
818+
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;')
819+
819820
# checkdb
820821
try:
821822
self.checkdb_node(

‎tests/restore.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3230,8 +3230,7 @@ def test_missing_database_map(self):
32303230
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_start_backup(text, boolean) TO backup; "
32313231
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_stop_backup() TO backup; "
32323232
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3233-
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3234-
)
3233+
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;")
32353234
# PG 9.6
32363235
elifself.get_version(node)>90600andself.get_version(node)<100000:
32373236
node.safe_psql(
@@ -3269,9 +3268,7 @@ def test_missing_database_map(self):
32693268
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup; "
32703269
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
32713270
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3272-
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3273-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
3274-
)
3271+
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;")
32753272
# >= 10
32763273
else:
32773274
node.safe_psql(
@@ -3307,9 +3304,7 @@ def test_missing_database_map(self):
33073304
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; "
33083305
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
33093306
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3310-
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3311-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
3312-
)
3307+
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;")
33133308

33143309
ifself.ptrack:
33153310
# TODO why backup works without these grants ?
@@ -3326,7 +3321,8 @@ def test_missing_database_map(self):
33263321

33273322
node.safe_psql(
33283323
"backupdb",
3329-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup")
3324+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup; "
3325+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;")
33303326

33313327
# FULL backup without database_map
33323328
backup_id=self.backup_node(

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp