diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 Changelog for tmp-postgres
 
+1.31.0.1
+  #227 remove mention of defaultPostgresConf in doc
+  #228 add track_io_timing = on to verboseConfig
+
 1.31.0.0
   #224 Remove defaultPostgresConf
   #223 Doc fixes
diff --git a/benchmark/Main.hs b/benchmark/Main.hs
--- a/benchmark/Main.hs
+++ b/benchmark/Main.hs
@@ -5,9 +5,11 @@
 import Criterion.Main hiding (defaultConfig)
 import Data.String
 import Database.Postgres.Temp.Internal
+import Database.Postgres.Temp.Internal.Core
 import Database.Postgres.Temp.Internal.Config
 import qualified Database.PostgreSQL.Simple as PG
 import           System.IO.Temp (createTempDirectory, withTempDirectory)
+import qualified Database.PostgreSQL.Simple.Options as Options
 
 data Once a = Once { unOnce :: a }
 
@@ -42,18 +44,21 @@
   bracket (PG.connectPostgreSQL theConnectionString) PG.close $
     \conn -> void $ PG.execute_ conn "INSERT INTO foo1 (id) VALUES (1)"
 
-setupCache :: IO Cache
-setupCache = do
-  cacheInfo <- setupInitDbCache defaultCacheConfig
+setupCache :: Bool -> IO Cache
+setupCache cow = do
+  cacheInfo <- setupInitDbCache (defaultCacheConfig { cacheUseCopyOnWrite = cow})
   void (withConfig (defaultConfig <> cacheConfig cacheInfo) (const $ pure ()))
   pure cacheInfo
 
 setupWithCache :: (Config -> Benchmark) -> Benchmark
-setupWithCache f = envWithCleanup setupCache cleanupInitDbCache $ f . (defaultConfig <>) . cacheConfig
+setupWithCache f = envWithCleanup (setupCache True) cleanupInitDbCache $ f . (defaultConfig <>) . cacheConfig
 
+setupWithCacheNoCow :: (Config -> Benchmark) -> Benchmark
+setupWithCacheNoCow f = envWithCleanup (setupCache False) cleanupInitDbCache $ f . (defaultConfig <>) . cacheConfig
+
 setupCacheAndSP :: IO (Cache, Snapshot, Once Config)
 setupCacheAndSP = do
-  cacheInfo <- setupCache
+  cacheInfo <- setupCache True
   let theCacheConfig = defaultConfig <> cacheConfig cacheInfo
   sp <- either throwIO pure <=< withConfig theCacheConfig $ \db -> do
     migrateDb db
@@ -74,7 +79,7 @@
 
 setupCacheAndAction :: IO (Cache, FilePath, Once Config)
 setupCacheAndAction = do
-  cacheInfo <- setupCache
+  cacheInfo <- setupCache True
   snapshotDir <- createTempDirectory "/tmp" "tmp-postgres-bench-cache"
   let theCacheConfig = defaultConfig <> cacheConfig cacheInfo
 
@@ -96,15 +101,22 @@
   , bench "withConfig no --no-sync" $ whnfIO $
       withConfig defaultConfigDefaultInitDb $ const $ pure ()
 
-  , bench "withConfig silent" $ whnfIO $
-      withConfig defaultConfig $ const $ pure ()
+  , bench "withConfig verbose" $ whnfIO $
+      withConfig verboseConfig $ const $ pure ()
 
+  , bench "withConfig db create" $ whnfIO $
+      withConfig (optionsToDefaultConfig (mempty { Options.dbname = pure "test" } )) $
+        const $ pure ()
+
+  , setupWithCacheNoCow $ \theConfig -> bench "withConfig silent cache no cow" $ whnfIO $
+      withConfig theConfig $ const $ pure ()
+
   , setupWithCache $ \theCacheConfig -> bench "withConfig silent cache" $ whnfIO $
       withConfig theCacheConfig $ const $ pure ()
 
   , bench "with migrate 10x" $ whnfIO $ replicateM 10 $ withConfig defaultConfig $ \db ->
       migrateDb db >> testQuery db
-
+{-
   , setupWithCache $ \theCacheConfig -> do
       bench "with migrate 10x and cache" $ whnfIO $ withConfig theCacheConfig $ \_ -> do
         replicateM_ 10 $ withConfig theCacheConfig $ \db ->
@@ -126,7 +138,7 @@
       replicateM_ 10 $
         either throwIO pure =<< flip withConfig testQuery
           =<< either throwIO pure =<< cacheAction snapshotDir migrateDb theCacheConfig
-
+-}
   , setupWithCacheAndSP $ \theConfig -> bench "withConfig pre-setup with withSnapshot" $ whnfIO $
       void $ withConfig theConfig $ const $ pure ()
 
@@ -139,6 +151,15 @@
   , bench "withSnapshot" $ perRunEnvWithCleanup (either throwIO (pure . Once) =<< startConfig defaultConfig) (stop . unOnce) $
       \ ~(Once db) -> void $ withSnapshot db $ const $ pure ()
 
+  , bench "stopGracefully" $ perRunEnvWithCleanup (either throwIO (pure . Once) =<< start) (stop . unOnce) $
+    \ ~(Once db) -> do
+      void $ stopPostgresGracefully db
+      stop db
+
   , bench "stop" $ perRunEnvWithCleanup (either throwIO (pure . Once) =<< start) (stop . unOnce) $
       \ ~(Once db) -> stop db
+
+  , bench "stop serial" $ perRunEnvWithCleanup (either throwIO (pure . Once) =<< start) (stop . unOnce) $
+      \ ~(Once DB {..}) ->
+          stopPlan dbPostgresProcess >> cleanupConfig dbResources
   ]
diff --git a/src/Database/Postgres/Temp/Internal.hs b/src/Database/Postgres/Temp/Internal.hs
--- a/src/Database/Postgres/Temp/Internal.hs
+++ b/src/Database/Postgres/Temp/Internal.hs
@@ -188,10 +188,6 @@
   }
 @
 
-
- This is common enough there is `defaultPostgresConf` which
- is a helper to do this.
-
  As an alternative to using 'defaultConfig' one could create a
  config from connections parameters using 'optionsToDefaultConfig'.
 
@@ -249,6 +245,7 @@
   , ("log_error_verbosity", "default")
   , ("log_line_prefix", "'%t [%p]: '")
   , ("lc_messages", "'C'")
+  , ("track_io_timing", "on")
   ]
 
 {-|
diff --git a/tmp-postgres.cabal b/tmp-postgres.cabal
--- a/tmp-postgres.cabal
+++ b/tmp-postgres.cabal
@@ -1,5 +1,5 @@
 name:                tmp-postgres
-version:             1.31.0.0
+version:             1.31.0.1
 synopsis: Start and stop a temporary postgres
 description: Start and stop a temporary postgres. See README.md
 homepage:            https://github.com/jfischoff/tmp-postgres#readme
