diff --git a/src/test/modules/test_session_hooks/Makefile b/src/test/modules/test_session_hooks/Makefile
index 636ae61c0e..906aee0aec 100644
--- a/src/test/modules/test_session_hooks/Makefile
+++ b/src/test/modules/test_session_hooks/Makefile
@@ -6,7 +6,6 @@ PGFILEDESC = "test_session_hooks - Test session hooks with an extension"
 EXTENSION = test_session_hooks
 DATA = test_session_hooks--1.0.sql
 
-REGRESS = test_session_hooks
 REGRESS_OPTS = --temp-config=$(top_srcdir)/src/test/modules/test_session_hooks/session_hooks.conf
 
 ifdef USE_PGXS
@@ -20,6 +19,32 @@ include $(top_builddir)/src/Makefile.global
 include $(top_srcdir)/contrib/contrib-global.mk
 endif
 
-# override installcheck - this module requires preloading the test module
-installcheck:
-	@echo Cannot run $@ for test_session_hooks. Run "'make check'" instead.
+# Disabled because these tests require shared_preload_libraries to be
+# set but users unlikely have that set up.
+installcheck:;
+
+# But it can nonetheless be very helpful to run tests on preexisting
+# installation, allow to do so, but only if requested explicitly.
+installcheck-force: regresscheck-install-force
+
+check: regresscheck
+
+submake-regress:
+	$(MAKE) -C $(top_builddir)/src/test/regress all
+
+submake-test_session_hooks:
+	$(MAKE) -C $(top_builddir)/src/test/modules/test_session_hooks
+
+REGRESSCHECKS = test_session_hooks
+
+regresscheck: | submake-regress submake-test_session_hooks temp-install
+	$(pg_regress_check) $(REGRESS_OPTS) $(REGRESSCHECKS)
+
+regresscheck-install-force: | submake-regress submake-test_decoding temp-install
+	$(pg_regress_installcheck) \
+	    $(REGRESSCHECKS)
+
+.PHONY: submake-test_decoding submake-regress check \
+	regresscheck regresscheck-install-force
+
+temp-install: EXTRA_INSTALL=src/test/modules/test_session_hooks
diff --git a/src/test/modules/test_session_hooks/expected/test_session_hooks.out b/src/test/modules/test_session_hooks/expected/test_session_hooks.out
index be1b94953c..8c1a92f7e8 100644
--- a/src/test/modules/test_session_hooks/expected/test_session_hooks.out
+++ b/src/test/modules/test_session_hooks/expected/test_session_hooks.out
@@ -16,16 +16,18 @@ SELECT * FROM session_hook_log ORDER BY id;
 
 \c :prevdb regress_sess_hook_usr2
 SELECT * FROM session_hook_log ORDER BY id;
- id |       dbname       |        username        | hook_at 
-----+--------------------+------------------------+---------
-  1 | contrib_regression | regress_sess_hook_usr2 | START
+ id |   dbname   |        username        | hook_at 
+----+------------+------------------------+---------
+  1 | regression | regress_sess_hook_usr2 | START
 (1 row)
 
 \c :prevdb :prevusr
 SELECT * FROM session_hook_log ORDER BY id;
- id |       dbname       |        username        | hook_at 
-----+--------------------+------------------------+---------
-  1 | contrib_regression | regress_sess_hook_usr2 | START
-  2 | contrib_regression | regress_sess_hook_usr2 | END
+ id |   dbname   |        username        | hook_at 
+----+------------+------------------------+---------
+  1 | regression | regress_sess_hook_usr2 | START
+  2 | regression | regress_sess_hook_usr2 | END
 (2 rows)
 
+DROP ROLE regress_sess_hook_usr1;
+DROP ROLE regress_sess_hook_usr2;
diff --git a/src/test/modules/test_session_hooks/sql/test_session_hooks.sql b/src/test/modules/test_session_hooks/sql/test_session_hooks.sql
index 5e0864753d..9644c5a694 100644
--- a/src/test/modules/test_session_hooks/sql/test_session_hooks.sql
+++ b/src/test/modules/test_session_hooks/sql/test_session_hooks.sql
@@ -10,3 +10,5 @@ SELECT * FROM session_hook_log ORDER BY id;
 SELECT * FROM session_hook_log ORDER BY id;
 \c :prevdb :prevusr
 SELECT * FROM session_hook_log ORDER BY id;
+DROP ROLE regress_sess_hook_usr1;
+DROP ROLE regress_sess_hook_usr2;
diff --git a/src/test/modules/test_session_hooks/test_session_hooks.c b/src/test/modules/test_session_hooks/test_session_hooks.c
index 4e2eef183e..04acd27eeb 100644
--- a/src/test/modules/test_session_hooks/test_session_hooks.c
+++ b/src/test/modules/test_session_hooks/test_session_hooks.c
@@ -72,7 +72,7 @@ register_session_hook(const char *hook_at)
 
 /* sample session start hook function */
 static void
-sample_session_start_hook()
+sample_session_start_hook(void)
 {
 	/* Hook just normal backends */
 	if (MyBackendId != InvalidBackendId)
@@ -86,7 +86,7 @@ sample_session_start_hook()
 
 /* sample session end hook function */
 static void
-sample_session_end_hook()
+sample_session_end_hook(void)
 {
 	/* Hook just normal backends */
 	if (MyBackendId != InvalidBackendId)
