diff options
author | Michael Paquier <michael@paquier.xyz> | 2022-03-29 13:52:49 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2022-03-29 13:52:49 +0900 |
commit | c14a9eeec4797358922f8696d76716501b86c57d (patch) | |
tree | 5fcc23e4bfca1769f22c9751473be35da2e1c8ce /contrib/pg_freespacemap | |
parent | a2c84990bea7beadb599d02328190e2a763dcb86 (diff) | |
download | postgresql-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/Makefile | 5 | ||||
-rw-r--r-- | contrib/pg_freespacemap/pg_freespacemap.conf | 1 |
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 |