Skip to content

Commit a2811ef

Browse files
authored
Merge pull request #514 from postgrespro/PBCKP-155
PBCKP-155
2 parents 786ccf0 + a0484a2 commit a2811ef

File tree

6 files changed

+28
-26
lines changed

6 files changed

+28
-26
lines changed

tests/backup.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1929,6 +1929,7 @@ def test_backup_with_least_privileges_role(self):
19291929
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
19301930
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
19311931
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
1932+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
19321933
)
19331934
# >= 10
19341935
else:
@@ -1967,6 +1968,7 @@ def test_backup_with_least_privileges_role(self):
19671968
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
19681969
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
19691970
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
1971+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
19701972
)
19711973

19721974
if self.ptrack:
@@ -1980,9 +1982,6 @@ def test_backup_with_least_privileges_role(self):
19801982
"GRANT EXECUTE ON FUNCTION ptrack.ptrack_init_lsn() TO backup;")
19811983

19821984
if ProbackupTest.enterprise:
1983-
node.safe_psql(
1984-
"backupdb",
1985-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup")
19861985

19871986
node.safe_psql(
19881987
"backupdb",
@@ -3068,7 +3067,9 @@ def test_missing_replication_permission(self):
30683067
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup; "
30693068
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
30703069
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
3071-
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_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+
)
30723073
# >= 10
30733074
else:
30743075
node.safe_psql(
@@ -3091,12 +3092,12 @@ def test_missing_replication_permission(self):
30913092
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
30923093
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
30933094
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3095+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
30943096
)
30953097

30963098
if ProbackupTest.enterprise:
30973099
node.safe_psql(
30983100
"backupdb",
3099-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; "
31003101
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup")
31013102

31023103
sleep(2)
@@ -3201,6 +3202,7 @@ def test_missing_replication_permission_1(self):
32013202
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
32023203
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
32033204
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3205+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
32043206
)
32053207
# >= 10
32063208
else:
@@ -3224,12 +3226,13 @@ def test_missing_replication_permission_1(self):
32243226
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
32253227
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
32263228
"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+
32273231
)
32283232

32293233
if ProbackupTest.enterprise:
32303234
node.safe_psql(
32313235
"backupdb",
3232-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; "
32333236
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup")
32343237

32353238
replica.promote()

tests/checkdb.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,7 @@ def test_checkdb_with_least_privileges(self):
697697
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anyarray, anyelement) TO backup; '
698698
# 'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; '
699699
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'
700+
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
700701
)
701702
# PG 10
702703
elif self.get_version(node) > 100000 and self.get_version(node) < 110000:
@@ -725,6 +726,9 @@ def test_checkdb_with_least_privileges(self):
725726
'GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_system() TO backup; '
726727
'GRANT EXECUTE ON FUNCTION pg_catalog.string_to_array(text, text) TO backup; '
727728
'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; '
728732
)
729733
if ProbackupTest.enterprise:
730734
# amcheck-1.1
@@ -765,6 +769,7 @@ def test_checkdb_with_least_privileges(self):
765769
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anyarray, anyelement) TO backup; '
766770
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; '
767771
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'
772+
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
768773
)
769774
# checkunique parameter
770775
if ProbackupTest.enterprise:
@@ -803,18 +808,14 @@ def test_checkdb_with_least_privileges(self):
803808
'GRANT EXECUTE ON FUNCTION pg_catalog.array_position(anycompatiblearray, anycompatible) TO backup; '
804809
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; '
805810
'GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup;'
811+
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
806812
)
807813
# checkunique parameter
808814
if ProbackupTest.enterprise:
809815
node.safe_psql(
810816
"backupdb",
811817
"GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool, bool) TO backup")
812818

813-
if ProbackupTest.enterprise:
814-
node.safe_psql(
815-
"backupdb",
816-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup")
817-
818819
# checkdb
819820
try:
820821
self.checkdb_node(

tests/helpers/ptrack_helpers.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,9 @@ def is_enterprise():
9696
stdout=subprocess.PIPE,
9797
stderr=subprocess.PIPE
9898
)
99-
if b'postgrespro.ru' in p.communicate()[0]:
100-
return True
101-
else:
102-
return False
99+
return b'postgrespro.ru' in p.communicate()[0]
103100

101+
104102
def is_nls_enabled():
105103
cmd = [os.environ['PG_CONFIG'], '--configure']
106104

tests/pgpro560.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,16 @@ def test_pgpro560_control_file_loss(self):
3232
node.slow_start()
3333

3434
file = os.path.join(node.base_dir, 'data', 'global', 'pg_control')
35-
os.remove(file)
35+
# Not delete this file permanently
36+
os.rename(file, os.path.join(node.base_dir, 'data', 'global', 'pg_control_copy'))
3637

3738
try:
3839
self.backup_node(backup_dir, 'node', node, options=['--stream'])
3940
# we should die here because exception is what we expect to happen
4041
self.assertEqual(
41-
1, 0,
42-
"Expecting Error because pg_control was deleted.\n "
43-
"Output: {0} \n CMD: {1}".format(repr(self.output), self.cmd))
42+
1, 0,
43+
"Expecting Error because pg_control was deleted.\n "
44+
"Output: {0} \n CMD: {1}".format(repr(self.output), self.cmd))
4445
except ProbackupException as e:
4546
self.assertTrue(
4647
'ERROR: Could not open file' in e.message and
@@ -49,6 +50,8 @@ def test_pgpro560_control_file_loss(self):
4950
repr(e.message), self.cmd))
5051

5152
# Clean after yourself
53+
# Return this file to avoid Postger fail
54+
os.rename(os.path.join(node.base_dir, 'data', 'global', 'pg_control_copy'), file)
5255
self.del_test_dir(module_name, fname)
5356

5457
def test_pgpro560_systemid_mismatch(self):

tests/ptrack.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,7 @@ def test_ptrack_unprivileged(self):
582582
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
583583
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
584584
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
585+
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
585586
)
586587
# >= 10
587588
else:
@@ -618,6 +619,7 @@ def test_ptrack_unprivileged(self):
618619
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
619620
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
620621
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
622+
'GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup; '
621623
)
622624

623625
node.safe_psql(
@@ -635,10 +637,6 @@ def test_ptrack_unprivileged(self):
635637
"GRANT SELECT ON TABLE pg_catalog.pg_extension TO backup")
636638

637639
if ProbackupTest.enterprise:
638-
node.safe_psql(
639-
"backupdb",
640-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup")
641-
642640
node.safe_psql(
643641
"backupdb",
644642
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_version() TO backup")

tests/restore.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3270,6 +3270,7 @@ def test_missing_database_map(self):
32703270
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup; "
32713271
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
32723272
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3273+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
32733274
)
32743275
# >= 10
32753276
else:
@@ -3307,6 +3308,7 @@ def test_missing_database_map(self):
33073308
"GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; "
33083309
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; "
33093310
"GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;"
3311+
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup;"
33103312
)
33113313

33123314
if self.ptrack:
@@ -3321,9 +3323,6 @@ def test_missing_database_map(self):
33213323
"CREATE EXTENSION ptrack WITH SCHEMA ptrack")
33223324

33233325
if ProbackupTest.enterprise:
3324-
node.safe_psql(
3325-
"backupdb",
3326-
"GRANT EXECUTE ON FUNCTION pg_catalog.pgpro_edition() TO backup")
33273326

33283327
node.safe_psql(
33293328
"backupdb",

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy