@@ -125,7 +125,9 @@ pgbench -p ${TEST_PGPORT} pgbench > /dev/null 2>&1
125
125
psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -c" SELECT * FROM pgbench_branches;" > ${TEST_BASE} /TEST-0006-before.out
126
126
TARGET_XID=` psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -tAq -c" INSERT INTO tbl0006 VALUES ('inserted') RETURNING (xmin);" `
127
127
pgbench -p${TEST_PGPORT} -d pgbench> /dev/null2>&1
128
- pg_ctl stop -m immediate> /dev/null2>&1
128
+ # Enforce segment to be archived to ensure that recovery goes well.
129
+ psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -c' SELECT pg_switch_xlog()' > /dev/null2>&1
130
+ pg_ctl stop -m fast> /dev/null2>&1
129
131
pg_arman restore -B${BACKUP_PATH} --recovery-target-xid=" ${TARGET_XID} " --quiet; echo $?
130
132
pg_ctl start -w -t 600> /dev/null2>&1
131
133
psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -c" SELECT * FROM pgbench_branches;" > ${TEST_BASE} /TEST-0006-after.out
@@ -149,7 +151,8 @@ pgbench -p ${TEST_PGPORT} pgbench > /dev/null 2>&1
149
151
psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -c" SELECT * FROM pgbench_branches;" > ${TEST_BASE} /TEST-0007-before.out
150
152
TARGET_XID=` psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -tAq -c" INSERT INTO tbl0007 VALUES ('inserted') RETURNING (xmin);" `
151
153
pgbench -p${TEST_PGPORT} -d pgbench> /dev/null2>&1
152
- pg_ctl stop -m immediate> /dev/null2>&1
154
+ psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -c' SELECT pg_switch_xlog()' > /dev/null2>&1
155
+ pg_ctl stop -m fast> /dev/null2>&1
153
156
pg_arman restore -B${BACKUP_PATH} --recovery-target-xid=" ${TARGET_XID} " --recovery-target-inclusive=false --quiet; echo $?
154
157
pg_ctl start -w -t 600> /dev/null2>&1
155
158
psql --no-psqlrc -p${TEST_PGPORT} -d pgbench -c" SELECT * FROM pgbench_branches;" > ${TEST_BASE} /TEST-0007-after.out
@@ -162,26 +165,6 @@ else
162
165
fi
163
166
echo ' '
164
167
165
- echo ' ###### RESTORE COMMAND TEST-0008 ######'
166
- echo ' ###### recovery from page backup after database creation ######'
167
- init_backup
168
- pgbench_objs 0008
169
- pg_ctl start -w -t 600> /dev/null2>&1
170
- pg_arman backup -B${BACKUP_PATH} -b full -Z -p${TEST_PGPORT} -d postgres --quiet; echo $?
171
- pg_arman validate -B${BACKUP_PATH} --quiet
172
- createdb db0008 -p${TEST_PGPORT}
173
- pgbench -i -s$SCALE -d db0008 -p${TEST_PGPORT} > ${TEST_BASE} /TEST-0008-db0008-init.out2>&1
174
- pg_arman backup -B${BACKUP_PATH} -b page -Z -p${TEST_PGPORT} -d postgres --quiet; echo $?
175
- pg_arman validate -B${BACKUP_PATH} --quiet
176
- pgbench -p${TEST_PGPORT} -d db0008>> ${TEST_BASE} /TEST-0008-db0008-init.out2>&1
177
- psql --no-psqlrc -p${TEST_PGPORT} -d db0008 -c" SELECT * FROM pgbench_branches;" > ${TEST_BASE} /TEST-0008-before.out
178
- pg_ctl stop -m immediate> /dev/null2>&1
179
- pg_arman restore -B${BACKUP_PATH} --quiet; echo $?
180
- pg_ctl start -w -t 600> /dev/null2>&1
181
- psql --no-psqlrc -p${TEST_PGPORT} -d db0008 -c" SELECT * FROM pgbench_branches;" > ${TEST_BASE} /TEST-0008-after.out
182
- diff${TEST_BASE} /TEST-0008-before.out${TEST_BASE} /TEST-0008-after.out
183
- echo ' '
184
-
185
168
# clean up the temporal test data
186
169
pg_ctl stop -m immediate> /dev/null2>&1
187
170
rm -fr${PGDATA_PATH}