diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Changelog for persistent
 
+## 2.14.4.3
+
+* [#1452](https://github.com/yesodweb/persistent/pull/1452)
+    * Implement `repsert` as a special case of `respertMany`.  Allows backend
+      specific behavior.
+
 ## 2.14.4.2
 
 * [#1451](https://github.com/yesodweb/persistent/pull/1451)
diff --git a/Database/Persist/Sql/Orphan/PersistStore.hs b/Database/Persist/Sql/Orphan/PersistStore.hs
--- a/Database/Persist/Sql/Orphan/PersistStore.hs
+++ b/Database/Persist/Sql/Orphan/PersistStore.hs
@@ -288,11 +288,7 @@
       where
         go = insrepHelper "INSERT"
 
-    repsert key value = do
-        mExisting <- get key
-        case mExisting of
-          Nothing -> insertKey key value
-          Just _ -> replace key value
+    repsert key value = repsertMany [(key, value)]
 
     repsertMany [] = return ()
     repsertMany krsDups = do
@@ -307,7 +303,13 @@
                     Just _  -> mkInsertValues r
         case connRepsertManySql conn of
             (Just mkSql) -> rawExecute (mkSql ent nr) (concatMap toVals krs)
-            Nothing -> mapM_ (uncurry repsert) krs
+            Nothing -> mapM_ repsert' krs
+              where
+                repsert' (key, value) = do
+                  mExisting <- get key
+                  case mExisting of
+                    Nothing -> insertKey key value
+                    Just _ -> replace key value
 
     delete k = do
         conn <- ask
diff --git a/persistent.cabal b/persistent.cabal
--- a/persistent.cabal
+++ b/persistent.cabal
@@ -1,5 +1,5 @@
 name:            persistent
-version:         2.14.4.2
+version:         2.14.4.3
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
