|
109 | 109 | # to check the log starting now for recovery conflict messages
|
110 | 110 | my $log_location = -s $node_standby->logfile;
|
111 | 111 |
|
112 |
| -# VACUUM on the primary |
113 |
| -$node_primary->safe_psql($test_db, qq[VACUUM $table1;]); |
| 112 | +# VACUUM FREEZE on the primary |
| 113 | +$node_primary->safe_psql($test_db, qq[VACUUM FREEZE $table1;]); |
114 | 114 |
|
115 | 115 | # Wait for catchup. Existing connection will be terminated before replay is
|
116 | 116 | # finished, so waiting for catchup ensures that there is no race between
|
|
144 | 144 | $node_primary->safe_psql($test_db,
|
145 | 145 | qq[UPDATE $table1 SET a = a + 1 WHERE a > 2;]);
|
146 | 146 |
|
147 |
| -# VACUUM, pruning those dead tuples |
148 |
| -$node_primary->safe_psql($test_db, qq[VACUUM $table1;]); |
| 147 | +# VACUUM FREEZE, pruning those dead tuples |
| 148 | +$node_primary->safe_psql($test_db, qq[VACUUM FREEZE $table1;]); |
149 | 149 |
|
150 | 150 | # Wait for attempted replay of PRUNE records
|
151 | 151 | $node_primary->wait_for_replay_catchup($node_standby);
|
|
264 | 264 | ], 'waiting'),
|
265 | 265 | "$sect: lock acquisition is waiting");
|
266 | 266 |
|
267 |
| -# VACUUM will prune away rows, causing a buffer pin conflict, while standby |
268 |
| -# psql is waiting on lock |
269 |
| -$node_primary->safe_psql($test_db, qq[VACUUM $table1;]); |
| 267 | +# VACUUM FREEZE will prune away rows, causing a buffer pin conflict, while |
| 268 | +# standby psql is waiting on lock |
| 269 | +$node_primary->safe_psql($test_db, qq[VACUUM FREEZE $table1;]); |
270 | 270 | $node_primary->wait_for_replay_catchup($node_standby);
|
271 | 271 |
|
272 | 272 | check_conflict_log("User transaction caused buffer deadlock with recovery.");
|
|
0 commit comments