8000 Merge pull request #514 from postgrespro/PBCKP-155 · postgrespro/pg_probackup@a2811ef · GitHub
[go: up one dir, main page]

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)
0