diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,12 @@
 
 Versioning follows the [Haskell Package Versioning Policy](https://pvp.haskell.org/).
 
+## 0.1.1.2 — 2026-10-06
+
+### Fixed
+
+- Use released ephemeral-pg >=0.3.1 && <0.4 and one stable effective-uid temporary root shared by database fixtures and the example service, preserving startup stale-instance sweeping.
+
 ## 0.1.1.1 — 2026-10-05
 
 ### Other Changes
diff --git a/relay-pagination-conformance.cabal b/relay-pagination-conformance.cabal
--- a/relay-pagination-conformance.cabal
+++ b/relay-pagination-conformance.cabal
@@ -1,6 +1,6 @@
 cabal-version:   3.0
 name:            relay-pagination-conformance
-version:         0.1.1.1
+version:         0.1.1.2
 synopsis:        Conformance suite proving no-skip/no-duplicate pagination
 description:
   A conformance suite that services run against their own paginated
@@ -48,7 +48,7 @@
     , base              >=4.21     && <5
     , bytestring        >=0.11     && <0.13
     , containers        >=0.7      && <0.9
-    , relay-pagination  ^>=0.1.1.1
+    , relay-pagination  ^>=0.1.1.2
     , tasty             >=1.4      && <1.6
     , tasty-hunit       >=0.10     && <0.11
     , text              >=2.0      && <2.2
@@ -56,7 +56,7 @@
 test-suite relay-pagination-conformance-test
   import:             lang
   type:               exitcode-stdio-1.0
-  hs-source-dirs:     test
+  hs-source-dirs:     test test-support
   main-is:            Main.hs
 
   -- MultilineStrings: fixture DDL and the multi-row insert (ADR 1)
@@ -73,6 +73,7 @@
     HttpSpec
     MutationSpec
     Oracle
+    Relay.Pagination.Test.Postgres
     WalkSpec
 
   build-depends:
@@ -80,15 +81,16 @@
     , base
     , bytestring
     , containers
-    , ephemeral-pg
+    , directory
+    , ephemeral-pg                  >=0.3.1    && <0.4
     , hasql                         >=1.10     && <1.11
     , hasql-dynamic-statements      >=0.5      && <0.6
     , http-client                   >=0.7      && <0.8
     , quickcheck-instances          >=0.3      && <0.4
-    , relay-pagination              ^>=0.1.1.1
+    , relay-pagination              ^>=0.1.1.2
     , relay-pagination-conformance
-    , relay-pagination-hasql        ^>=0.1.1.1
-    , relay-pagination-servant      ^>=0.1.1.1
+    , relay-pagination-hasql        ^>=0.1.1.2
+    , relay-pagination-servant      ^>=0.1.1.2
     , servant                       >=0.20.3   && <0.21
     , servant-client                >=0.20.3   && <0.21
     , servant-client-core
@@ -99,5 +101,6 @@
     , tasty-quickcheck              >=0.10     && <0.12
     , text
     , time                          >=1.12     && <1.15
+    , unix
     , uuid-types                    >=1.0      && <1.1
     , warp                          >=3.3      && <3.5
diff --git a/test-support/Relay/Pagination/Test/Postgres.hs b/test-support/Relay/Pagination/Test/Postgres.hs
new file mode 100644
--- /dev/null
+++ b/test-support/Relay/Pagination/Test/Postgres.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE ImportQualifiedPost #-}
+
+-- | PostgreSQL configuration shared by Relay tests and the example service.
+-- A stable short effective-uid root lets subsequent runs sweep abandoned
+-- clusters across shell sessions. Default startup sweeping stays enabled.
+module Relay.Pagination.Test.Postgres (ephemeralPgConfig) where
+
+import Data.Monoid (Last (..))
+import EphemeralPg qualified as Pg
+import System.Directory (createDirectoryIfMissing)
+import System.Posix.User (getEffectiveUserID)
+
+ephemeralPgConfig :: IO Pg.Config
+ephemeralPgConfig = do
+  uid <- getEffectiveUserID
+  let root = "/tmp/ephpg-relay-" <> show uid
+  createDirectoryIfMissing True root
+  pure Pg.defaultConfig {Pg.temporaryRoot = Last (Just root)}
diff --git a/test/DbFixture.hs b/test/DbFixture.hs
--- a/test/DbFixture.hs
+++ b/test/DbFixture.hs
@@ -47,6 +47,7 @@
     timestamptzKey,
     uuidKey,
   )
+import Relay.Pagination.Test.Postgres (ephemeralPgConfig)
 
 data TestRow = TestRow
   { rowId :: !UUID,
@@ -93,9 +94,10 @@
 -- | One cached-initdb server plus one connection, with the schema created.
 acquireDb :: IO (Pg.Database, HasqlConn.Connection)
 acquireDb = do
+  config <- ephemeralPgConfig
   db <-
     either (fail . Text.unpack . Pg.renderStartError) pure
-      =<< Pg.startCached Pg.defaultConfig Pg.defaultCacheConfig
+      =<< Pg.startCached config Pg.defaultCacheConfig
   conn <- either (fail . show) pure =<< HasqlConn.acquire (Pg.connectionSettings db)
   run conn createSchema
   pure (db, conn)
