diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 2.1.6
+
+* Postgresql exceptions [#353](https://github.com/yesodweb/persistent/issues/353)
+
 ## 2.1.5.3
 
 Migrations for custom primary keys
diff --git a/Database/Persist/Postgresql.hs b/Database/Persist/Postgresql.hs
--- a/Database/Persist/Postgresql.hs
+++ b/Database/Persist/Postgresql.hs
@@ -218,11 +218,7 @@
                 status <- LibPQ.resultStatus ret
                 case status of
                   LibPQ.TuplesOk -> return ()
-                  _ -> do
-                    msg <- LibPQ.resStatus status
-                    mmsg <- LibPQ.resultErrorMessage ret
-                    fail $ "Postgresql.withStmt': bad result status " ++
-                           show status ++ " (" ++ maybe (show msg) (show . (,) msg) mmsg ++ ")"
+                  _ -> PG.throwResultError "Postgresql.withStmt': bad result status " ret status
 
                 -- Get number and type of columns
                 cols <- LibPQ.nfields ret
diff --git a/persistent-postgresql.cabal b/persistent-postgresql.cabal
--- a/persistent-postgresql.cabal
+++ b/persistent-postgresql.cabal
@@ -1,5 +1,5 @@
 name:            persistent-postgresql
-version:         2.1.5.3
+version:         2.1.6
 license:         MIT
 license-file:    LICENSE
 author:          Felipe Lessa, Michael Snoyman <michael@snoyman.com>
