diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 Changelog for tmp-postgres
 
+1.24.0.0
+  #185 rename makeDataDirPermanent to makeDataDirectoryPermanent
+
 1.23.0.3
   #122 Try to minize failed deletes ... again.
 
diff --git a/src/Database/Postgres/Temp.hs b/src/Database/Postgres/Temp.hs
--- a/src/Database/Postgres/Temp.hs
+++ b/src/Database/Postgres/Temp.hs
@@ -68,7 +68,7 @@
   , toTemporaryDirectory
   , toPostgresqlConf
   -- *** 'DB' modifiers
-  , makeDataDirPermanent
+  , makeDataDirectoryPermanent
   , reloadConfig
   -- *** 'DB' debugging
   , prettyPrintDB
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
@@ -31,7 +31,7 @@
 --   @since 1.12.0.0
 data DB = DB
   { dbResources :: Resources
-  -- ^ Temporary resources and the final 'CompletePlan'.
+  -- ^ Temporary resources and the final 'Plan'.
   , dbPostgresProcess :: PostgresProcess
   -- ^ @postgres@ process handle and the connection options.
   }
@@ -77,14 +77,14 @@
 need to setup your own bracket like
 
  @
-    bracket (fmap 'makeDataDirPermanent' 'start') (either mempty 'stop')
+    bracket (fmap 'makeDataDirectoryPermanent' 'start') (either mempty 'stop')
  @
 
 
-@since 1.12.0.0
+@since 1.24.0.0
 -}
-makeDataDirPermanent :: DB -> DB
-makeDataDirPermanent db = db
+makeDataDirectoryPermanent :: DB -> DB
+makeDataDirectoryPermanent db = db
   { dbResources = makeResourcesDataDirPermanent $ dbResources db
   }
 
@@ -356,7 +356,7 @@
 restart :: DB -> IO (Either StartError DB)
 restart db@DB{..} = try $ do
   void $ stopPostgres db
-  let CompletePlan{..} = resourcesPlan dbResources
+  let Plan{..} = resourcesPlan dbResources
       startAction = startPostgresProcess completePlanConnectionTimeout completePlanLogger
         completePlanPostgres
   bracketOnError startAction stopPlan $ \result ->
diff --git a/src/Database/Postgres/Temp/Internal/Config.hs b/src/Database/Postgres/Temp/Internal/Config.hs
--- a/src/Database/Postgres/Temp/Internal/Config.hs
+++ b/src/Database/Postgres/Temp/Internal/Config.hs
@@ -1,13 +1,13 @@
 {-# OPTIONS_HADDOCK prune #-}
 {-| This module provides types and functions for combining partial
-    configs into a complete configs to ultimately make a 'CompletePlan'.
+    configs into a complete configs to ultimately make a 'Plan'.
 
     This module has two classes of types.
 
     Types like 'ProcessConfig' that could be used by any
     library that  needs to combine process options.
 
-    Finally it has types and functions for creating 'CompletePlan's that
+    Finally it has types and functions for creating 'Plan's that
     use temporary resources. This is used to create the default
     behavior of 'Database.Postgres.Temp.startConfig' and related
     functions.
@@ -415,8 +415,8 @@
 flattenConfig = unlines . map (\(x, y) -> x <> "=" <> y) .
   Map.toList . Map.fromList
 
--- | Turn a 'Config' into a 'CompletePlan'. Fails if any values are missing.
-completePlan :: [(String, String)] -> String -> Config -> Either [String] CompletePlan
+-- | Turn a 'Config' into a 'Plan'. Fails if any values are missing.
+completePlan :: [(String, String)] -> String -> Config -> Either [String] Plan
 completePlan envs dataDirectoryString config@Config {..} = do
   (   completePlanLogger
     , completePlanInitDb
@@ -440,7 +440,7 @@
       completePlanCopy = completeCopyDirectory completePlanDataDirectory <$>
         join (getLast copyConfig)
 
-  pure CompletePlan {..}
+  pure Plan {..}
 
 -- Returns 'True' if the 'Config' has a
 -- 'Just' 'initDbConfig'.
@@ -634,8 +634,8 @@
       ("--pgdata=" <> theDataDirectory) : completeProcessConfigCmdLine x
   }
 
-cachePlan :: CompletePlan -> Bool -> FilePath -> IO CompletePlan
-cachePlan plan@CompletePlan {..} cow cacheDirectory = case completePlanInitDb of
+cachePlan :: Plan -> Bool -> FilePath -> IO Plan
+cachePlan plan@Plan {..} cow cacheDirectory = case completePlanInitDb of
   Nothing -> pure plan
   Just theConfig -> do
     let (mtheDataDirectory, clearedConfig) = splitDataDirectory theConfig
@@ -741,7 +741,7 @@
         (toFilePath resourcesDataDir)
       finalPlan = hostAndDir <> config
   uncachedPlan <- lift $
-    either (throwIO . CompletePlanFailed (show $ pretty finalPlan)) pure $
+    either (throwIO . PlanFailed (show $ pretty finalPlan)) pure $
       completePlan envs (toFilePath resourcesDataDir) finalPlan
   resourcesPlan <- lift $ maybe (pure uncachedPlan) (uncurry $ cachePlan uncachedPlan) resourcesInitDbCache
   pure Resources {..}
@@ -759,13 +759,13 @@
 prettyPrintConfig = show . pretty
 
 -- | 'Resources' holds a description of the temporary folders (if there are any)
---   and includes the final 'CompletePlan' that can be used with 'startPlan'.
+--   and includes the final 'Plan' that can be used with 'startPlan'.
 --   See 'setupConfig' for an example of how to create a 'Resources'.
 --
 --   @since 1.12.0.0
 data Resources = Resources
-  { resourcesPlan    :: CompletePlan
-  -- ^ Final 'CompletePlan'. See 'startPlan' for information on 'CompletePlan's.
+  { resourcesPlan    :: Plan
+  -- ^ Final 'Plan'. See 'startPlan' for information on 'Plan's.
   , resourcesSocketDirectory :: CompleteDirectoryType
   -- ^ The used to potentially cleanup the temporary unix socket directory.
   , resourcesDataDir :: CompleteDirectoryType
diff --git a/src/Database/Postgres/Temp/Internal/Core.hs b/src/Database/Postgres/Temp/Internal/Core.hs
--- a/src/Database/Postgres/Temp/Internal/Core.hs
+++ b/src/Database/Postgres/Temp/Internal/Core.hs
@@ -76,8 +76,8 @@
     }
   -- ^ @createdb@ failed. This can be from invalid configuration or
   --   the database might already exist.
-  | CompletePlanFailed String [String]
-  -- ^ The 'Database.Postgres.Temp.Config.Plan' was missing info and a complete 'CompletePlan' could
+  | PlanFailed String [String]
+  -- ^ The 'Database.Postgres.Temp.Config.Plan' was missing info and a complete 'Plan' could
   --   not be created.
   | CompleteProcessConfigFailed String [String]
   -- ^ The 'Database.Postgres.Temp.Config.ProcessConfig' was missing info and a
@@ -369,17 +369,17 @@
   (res, stdOut, stdErr) <- executeProcessAndTee "createdb" config
   throwIfNotSuccess (CreateDbFailed stdOut stdErr) res
 -------------------------------------------------------------------------------
--- CompletePlan
+-- Plan
 -------------------------------------------------------------------------------
--- | 'CompletePlan' is the low level configuration necessary for initializing
+-- | 'Plan' is the low level configuration necessary for initializing
 --   a database cluster
 --   starting @postgres@ and creating a database. There is no validation done
---   on the 'CompletePlan'. It is recommend that one use the higher level
+--   on the 'Plan'. It is recommend that one use the higher level
 --   functions
 --   such as 'Database.Postgres.Temp.start' which will generate plans that
---   are valid. 'CompletePlan's are used internally but are exposed if the
+--   are valid. 'Plan's are used internally but are exposed if the
 --   higher level plan generation is not sufficent.
-data CompletePlan = CompletePlan
+data Plan = Plan
   { completePlanLogger            :: Logger
   , completePlanInitDb            :: Maybe CompleteProcessConfig
   , completePlanCopy              :: Maybe CompleteCopyDirectoryCommand
@@ -390,8 +390,8 @@
   , completePlanConnectionTimeout :: Int
   }
 
-instance Pretty CompletePlan where
-  pretty CompletePlan {..}
+instance Pretty Plan where
+  pretty Plan {..}
     =   text "completePlanInitDb:"
     <>  softline
     <>  indent 2 (pretty completePlanInitDb)
@@ -420,8 +420,8 @@
 --   Additionally it writes a \"postgresql.conf\" and does not return until
 --   the @postgres@ process is ready. See 'startPostgresProcess' for more
 --   details.
-startPlan :: CompletePlan -> IO PostgresProcess
-startPlan plan@CompletePlan {..} = do
+startPlan :: Plan -> IO PostgresProcess
+startPlan plan@Plan {..} = do
   completePlanLogger $ StartPlan $ show $ pretty plan
   for_ completePlanInitDb executeInitDb
 
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -314,7 +314,7 @@
   it "makeResourcesDataDirPermanent works" $
     withTempDirectory "/tmp" "tmp-postgres-make-premanent" $ \dirPath -> do
        let config = defaultConfig { temporaryDirectory = pure dirPath }
-       pathToCheck <- bracket (either throwIO (pure . makeDataDirPermanent) =<< startConfig config) stop $
+       pathToCheck <- bracket (either throwIO (pure . makeDataDirectoryPermanent) =<< startConfig config) stop $
         pure . toDataDirectory
        doesDirectoryExist pathToCheck >>= \case
          True -> pure ()
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.23.0.3
+version:             1.24.0.0
 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
