summaryrefslogtreecommitdiff
path: root/contrib/pg_freespacemap
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2022-03-29 13:52:49 +0900
committerMichael Paquier <michael@paquier.xyz>2022-03-29 13:52:49 +0900
commitc14a9eeec4797358922f8696d76716501b86c57d (patch)
tree5fcc23e4bfca1769f22c9751473be35da2e1c8ce /contrib/pg_freespacemap
parenta2c84990bea7beadb599d02328190e2a763dcb86 (diff)
downloadpostgresql-c14a9eeec4797358922f8696d76716501b86c57d.tar.gz
Avoid instabilities with the regression tests of pg_freespacemap
It was possible to run those tests with installcheck, but they are actually unstable as concurrent autovacuum jobs could prevent the truncation of the filespace map to happen (aka the scan of pg_database when building the list of relations to clean), an assumption we rely on when checking that the FSM of the relation gets truncated during a manual vacuum after deleting all the relation's data. This commit adds a NO_INSTALLCHECK to disallow installcheck, and introduces the use of a custom configuration file with autovacuum disabled. It happens that we already do that in the recovery test 008_fsm_truncation, for example. Reported-by: Tom Lane, via buildfarm member skink Discussion: https://postgr.es/m/381910.1648401526@sss.pgh.pa.us
Diffstat (limited to 'contrib/pg_freespacemap')
-rw-r--r--contrib/pg_freespacemap/Makefile5
-rw-r--r--contrib/pg_freespacemap/pg_freespacemap.conf1
2 files changed, 6 insertions, 0 deletions
diff --git a/contrib/pg_freespacemap/Makefile b/contrib/pg_freespacemap/Makefile
index 2d525a1284..b48e4b255b 100644
--- a/contrib/pg_freespacemap/Makefile
+++ b/contrib/pg_freespacemap/Makefile
@@ -10,8 +10,13 @@ DATA = pg_freespacemap--1.1.sql pg_freespacemap--1.1--1.2.sql \
pg_freespacemap--1.0--1.1.sql
PGFILEDESC = "pg_freespacemap - monitoring of free space map"
+REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/pg_freespacemap/pg_freespacemap.conf
REGRESS = pg_freespacemap
+# Disabled because these tests require "autovacuum=off", which
+# typical installcheck users do not have (e.g. buildfarm clients).
+NO_INSTALLCHECK = 1
+
ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
diff --git a/contrib/pg_freespacemap/pg_freespacemap.conf b/contrib/pg_freespacemap/pg_freespacemap.conf
new file mode 100644
index 0000000000..96b1ed833d
--- /dev/null
+++ b/contrib/pg_freespacemap/pg_freespacemap.conf
@@ -0,0 +1 @@
+autovacuum = off