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

Commitc670de2

Browse files
committed
tests: update compatibility module
1 parent0410ff8 commitc670de2

File tree

1 file changed

+144
-7
lines changed

1 file changed

+144
-7
lines changed

‎tests/compatibility.py‎

Lines changed: 144 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,7 +1041,8 @@ def test_page_vacuum_truncate(self):
10411041
"postgres",
10421042
"vacuum t_heap")
10431043

1044-
self.backup_node(backup_dir,'node',node,old_binary=True)
1044+
id1=self.backup_node(backup_dir,'node',node,old_binary=True)
1045+
pgdata1=self.pgdata_content(node.data_dir)
10451046

10461047
node.safe_psql(
10471048
"postgres",
@@ -1051,8 +1052,9 @@ def test_page_vacuum_truncate(self):
10511052
"postgres",
10521053
"vacuum t_heap")
10531054

1054-
self.backup_node(
1055+
id2=self.backup_node(
10551056
backup_dir,'node',node,backup_type='page',old_binary=True)
1057+
pgdata2=self.pgdata_content(node.data_dir)
10561058

10571059
node.safe_psql(
10581060
"postgres",
@@ -1061,23 +1063,49 @@ def test_page_vacuum_truncate(self):
10611063
"md5(repeat(i::text,10))::tsvector as tsvector "
10621064
"from generate_series(0,1) i")
10631065

1064-
self.backup_node(
1066+
id3=self.backup_node(
10651067
backup_dir,'node',node,backup_type='page',old_binary=True)
1066-
1067-
pgdata=self.pgdata_content(node.data_dir)
1068+
pgdata3=self.pgdata_content(node.data_dir)
10681069

10691070
node_restored=self.make_simple_node(
10701071
base_dir=os.path.join(module_name,fname,'node_restored'))
10711072
node_restored.cleanup()
10721073

1073-
self.restore_node(backup_dir,'node',node_restored)
1074+
self.restore_node(
1075+
backup_dir,'node',node_restored,
1076+
data_dir=node_restored.data_dir,backup_id=id1)
10741077

10751078
# Physical comparison
10761079
pgdata_restored=self.pgdata_content(node_restored.data_dir)
1077-
self.compare_pgdata(pgdata,pgdata_restored)
1080+
self.compare_pgdata(pgdata1,pgdata_restored)
10781081

10791082
self.set_auto_conf(node_restored, {'port':node_restored.port})
10801083
node_restored.slow_start()
1084+
node_restored.cleanup()
1085+
1086+
self.restore_node(
1087+
backup_dir,'node',node_restored,
1088+
data_dir=node_restored.data_dir,backup_id=id2)
1089+
1090+
# Physical comparison
1091+
pgdata_restored=self.pgdata_content(node_restored.data_dir)
1092+
self.compare_pgdata(pgdata2,pgdata_restored)
1093+
1094+
self.set_auto_conf(node_restored, {'port':node_restored.port})
1095+
node_restored.slow_start()
1096+
node_restored.cleanup()
1097+
1098+
self.restore_node(
1099+
backup_dir,'node',node_restored,
1100+
data_dir=node_restored.data_dir,backup_id=id3)
1101+
1102+
# Physical comparison
1103+
pgdata_restored=self.pgdata_content(node_restored.data_dir)
1104+
self.compare_pgdata(pgdata3,pgdata_restored)
1105+
1106+
self.set_auto_conf(node_restored, {'port':node_restored.port})
1107+
node_restored.slow_start()
1108+
node_restored.cleanup()
10811109

10821110
# Clean after yourself
10831111
self.del_test_dir(module_name,fname)
@@ -1162,6 +1190,115 @@ def test_page_vacuum_truncate_compression(self):
11621190
# Clean after yourself
11631191
self.del_test_dir(module_name,fname)
11641192

1193+
# @unittest.skip("skip")
1194+
deftest_page_vacuum_truncate_compressed_1(self):
1195+
"""
1196+
make node, create table, take full backup,
1197+
delete all data, vacuum relation,
1198+
take page backup, insert some data,
1199+
take second page backup,
1200+
restore latest page backup using new binary
1201+
and check data correctness
1202+
old binary should be 2.2.x version
1203+
"""
1204+
fname=self.id().split('.')[3]
1205+
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
1206+
node=self.make_simple_node(
1207+
base_dir=os.path.join(module_name,fname,'node'),
1208+
set_replication=True,
1209+
initdb_params=['--data-checksums'],
1210+
pg_options={'autovacuum':'off'})
1211+
1212+
self.init_pb(backup_dir,old_binary=True)
1213+
self.add_instance(backup_dir,'node',node,old_binary=True)
1214+
self.set_archiving(backup_dir,'node',node,old_binary=True)
1215+
node.slow_start()
1216+
1217+
node.safe_psql(
1218+
"postgres",
1219+
"create sequence t_seq; "
1220+
"create table t_heap as select i as id, "
1221+
"md5(i::text) as text, "
1222+
"md5(repeat(i::text,10))::tsvector as tsvector "
1223+
"from generate_series(0,1024) i")
1224+
1225+
node.safe_psql(
1226+
"postgres",
1227+
"vacuum t_heap")
1228+
1229+
id1=self.backup_node(
1230+
backup_dir,'node',node,
1231+
old_binary=True,options=['--compress'])
1232+
pgdata1=self.pgdata_content(node.data_dir)
1233+
1234+
node.safe_psql(
1235+
"postgres",
1236+
"delete from t_heap")
1237+
1238+
node.safe_psql(
1239+
"postgres",
1240+
"vacuum t_heap")
1241+
1242+
id2=self.backup_node(
1243+
backup_dir,'node',node,backup_type='page',
1244+
old_binary=True,options=['--compress'])
1245+
pgdata2=self.pgdata_content(node.data_dir)
1246+
1247+
node.safe_psql(
1248+
"postgres",
1249+
"insert into t_heap select i as id, "
1250+
"md5(i::text) as text, "
1251+
"md5(repeat(i::text,10))::tsvector as tsvector "
1252+
"from generate_series(0,1) i")
1253+
1254+
id3=self.backup_node(
1255+
backup_dir,'node',node,backup_type='page',
1256+
old_binary=True,options=['--compress'])
1257+
pgdata3=self.pgdata_content(node.data_dir)
1258+
1259+
node_restored=self.make_simple_node(
1260+
base_dir=os.path.join(module_name,fname,'node_restored'))
1261+
node_restored.cleanup()
1262+
1263+
self.restore_node(
1264+
backup_dir,'node',node_restored,
1265+
data_dir=node_restored.data_dir,backup_id=id1)
1266+
1267+
# Physical comparison
1268+
pgdata_restored=self.pgdata_content(node_restored.data_dir)
1269+
self.compare_pgdata(pgdata1,pgdata_restored)
1270+
1271+
self.set_auto_conf(node_restored, {'port':node_restored.port})
1272+
node_restored.slow_start()
1273+
node_restored.cleanup()
1274+
1275+
self.restore_node(
1276+
backup_dir,'node',node_restored,
1277+
data_dir=node_restored.data_dir,backup_id=id2)
1278+
1279+
# Physical comparison
1280+
pgdata_restored=self.pgdata_content(node_restored.data_dir)
1281+
self.compare_pgdata(pgdata2,pgdata_restored)
1282+
1283+
self.set_auto_conf(node_restored, {'port':node_restored.port})
1284+
node_restored.slow_start()
1285+
node_restored.cleanup()
1286+
1287+
self.restore_node(
1288+
backup_dir,'node',node_restored,
1289+
data_dir=node_restored.data_dir,backup_id=id3)
1290+
1291+
# Physical comparison
1292+
pgdata_restored=self.pgdata_content(node_restored.data_dir)
1293+
self.compare_pgdata(pgdata3,pgdata_restored)
1294+
1295+
self.set_auto_conf(node_restored, {'port':node_restored.port})
1296+
node_restored.slow_start()
1297+
node_restored.cleanup()
1298+
1299+
# Clean after yourself
1300+
self.del_test_dir(module_name,fname)
1301+
11651302
# @unittest.skip("skip")
11661303
deftest_hidden_files(self):
11671304
"""

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp