From: Melanie Plageman <melanieplageman@gmail.com>
Date: Mon, 29 Jul 2024 19:36:38 +0000 (-0400)
Subject: Use DELETE instead of UPDATE to speed up vacuum test
X-Git-Tag: REL_14_13~9
X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=924a08b76f5d9f89b2569caed26113f0a020c644;p=postgresql.git

Use DELETE instead of UPDATE to speed up vacuum test

d42f60ccf07d89c introduced a test which generated dead tuples for vacuum
with an UPDATE. The test only required enough dead TIDs for two rounds
of index vacuuming. This can be accomplished with a DELETE instead of an
UPDATE -- which generates about 50% less WAL and makes the test 20%
faster in many cases. The test takes several seconds (more on slow
buildfarm animals) because we need quite a few tuples to trigger two
rounds of index vacuuming; so it is worth a follow-on commit to speed it
up.

Suggested-by: Masahiko Sawada
Discussion: https://postgr.es/m/CAAKRu_bWmMjmqL%2BOZ2duEQ80u7cRvpsExLNZNjzk-pXX5skwMQ%40mail.gmail.com
Backpatch-through: 14, the first version containing this test.
---

diff --git a/src/test/recovery/t/043_vacuum_horizon_floor.pl b/src/test/recovery/t/043_vacuum_horizon_floor.pl
index c43d3edaa48..3e3e424be94 100644
--- a/src/test/recovery/t/043_vacuum_horizon_floor.pl
+++ b/src/test/recovery/t/043_vacuum_horizon_floor.pl
@@ -75,7 +75,7 @@ $node_primary->safe_psql($test_db, qq[
 	CREATE TABLE ${table1}(col1 int) with (autovacuum_enabled=false);
 	INSERT INTO $table1 SELECT generate_series(1, 200000);
 	CREATE INDEX on ${table1}(col1);
-	UPDATE $table1 SET col1 = 0 WHERE col1 > 1;
+	DELETE FROM $table1 WHERE col1 > 1;
 	INSERT INTO $table1 VALUES(1);
 ]);