diff --git a/library/Potoki/Hasql/Consume.hs b/library/Potoki/Hasql/Consume.hs
--- a/library/Potoki/Hasql/Consume.hs
+++ b/library/Potoki/Hasql/Consume.hs
@@ -1,36 +1,36 @@
 module Potoki.Hasql.Consume
 where
 
-import           Potoki.Hasql.Prelude   
-import qualified Hasql.Connection         as B
-import qualified Hasql.Query              as E
-import qualified Hasql.Session            as D
-import qualified Potoki.Consume           as O
-import           Potoki.Core.Consume
-import qualified Potoki.Core.Fetch        as C
-import qualified Potoki.Transform         as F
+import Potoki.Hasql.Prelude   
+import Potoki.Hasql.Error.Types  
+import Potoki.Core.Consume
+import qualified Hasql.Connection as B
+import qualified Hasql.Statement as E
+import qualified Hasql.Session as D
+import qualified Potoki.Consume as O
+import qualified Potoki.Core.Fetch as C
+import qualified Potoki.Transform as F
 import qualified Potoki.Hasql.Error.Hasql as G
-import           Potoki.Hasql.Error.Types  
 
 
-executeBatchQueryConcurrently :: Show params => E.Query (Vector params) () -> Int -> Int -> B.Settings -> Consume params (Either Error ())
-executeBatchQueryConcurrently query batchSize amountOfConnections settings =
+executeBatchStatementConcurrently :: E.Statement (Vector params) () -> Int -> Int -> B.Settings -> Consume params (Either Error ())
+executeBatchStatementConcurrently statement batchSize amountOfConnections settings =
   transform batchTransform (right' O.concat)
   where
     batchTransform =
-      F.concurrently amountOfConnections (F.consume (executeBatchQuery query batchSize settings))
+      F.concurrently amountOfConnections (F.consume (executeBatchStatement statement batchSize settings))
 
-executeBatchQuery :: Show params => E.Query (Vector params) () -> Int -> B.Settings -> Consume params (Either Error ())
-executeBatchQuery query batchSize settings =
+executeBatchStatement :: E.Statement (Vector params) () -> Int -> B.Settings -> Consume params (Either Error ())
+executeBatchStatement statement batchSize settings =
   transform
     (F.consume (transform (F.take batchSize) O.vector))
-    (executeQuery query settings)
+    (executeStatement statement settings)
 
-executeQuery :: Show params => E.Query params () -> B.Settings -> Consume params (Either Error ())
-executeQuery query =
-  executeSession (\ params -> D.query params query)
+executeStatement :: E.Statement params () -> B.Settings -> Consume params (Either Error ())
+executeStatement statement =
+  executeSession (\ params -> D.statement params statement)
 
-executeSession :: Show params => (params -> D.Session ()) -> B.Settings -> Consume params (Either Error ())
+executeSession :: (params -> D.Session ()) -> B.Settings -> Consume params (Either Error ())
 executeSession session connectionSettings =
   Consume $ \ (C.Fetch fetchIO) -> do
     acquisitionResult <- B.acquire connectionSettings
@@ -47,5 +47,5 @@
                   result <- D.run (session params) connection
                   case result of
                     Right () -> loop
-                    Left error -> return (Left (G.sessionErrorWithParams params error)))
+                    Left error -> return (Left (G.sessionError error)))
           in loop <* B.release connection
diff --git a/library/Potoki/Hasql/Error/Hasql.hs b/library/Potoki/Hasql/Error/Hasql.hs
--- a/library/Potoki/Hasql/Error/Hasql.hs
+++ b/library/Potoki/Hasql/Error/Hasql.hs
@@ -2,28 +2,25 @@
 module Potoki.Hasql.Error.Hasql
 where
 
-import           Potoki.Hasql.Prelude
-import           Potoki.Hasql.Error.Types
-import qualified Hasql.Session            as A
-import qualified Hasql.Connection         as C
+import Potoki.Hasql.Prelude
+import Potoki.Hasql.Error.Types
+import qualified Hasql.Session as A
+import qualified Hasql.Connection as C
+import qualified Data.Text as B
 
 
 connectionError :: C.ConnectionError -> Error
 connectionError details =
   ConnectionError (maybe "" lenientUtf8ByteStringText details)
 
-sessionError :: A.Error -> Error
-sessionError =
-  \ case
-    A.ClientError details ->
-      ConnectionError (maybe "" lenientUtf8ByteStringText details)
-    A.ResultError details ->
-      InteractionError ((stringText . show) details)
-
-sessionErrorWithParams :: Show params => params -> A.Error -> Error
-sessionErrorWithParams params =
-  \ case
+sessionError :: A.QueryError -> Error
+sessionError (A.QueryError sql params commandError) =
+  case commandError of
     A.ClientError details ->
-      ConnectionError (maybe "" lenientUtf8ByteStringText details)
+      ConnectionError (maybe queryAndParamsRendering (flip mappend ("\n" <> queryAndParamsRendering) . lenientUtf8ByteStringText) details)
     A.ResultError details ->
-      InteractionError ((fromString . shows details . showString ": " . shows params) "")
+      InteractionError (fromString (show details) <> "\n" <> queryAndParamsRendering)
+  where
+    queryAndParamsRendering =
+      "Query: " <> lenientUtf8ByteStringText sql <> "\n" <>
+      "Params: " <> B.intercalate ", " params
diff --git a/potoki-hasql.cabal b/potoki-hasql.cabal
--- a/potoki-hasql.cabal
+++ b/potoki-hasql.cabal
@@ -1,7 +1,7 @@
 name:
   potoki-hasql
 version:
-  1.4
+  1.5
 synopsis:
   Integration of "potoki" and "hasql".
 description:
@@ -50,7 +50,7 @@
     Potoki.Hasql.Error.Instances
     Potoki.Hasql.Error.Types
   build-depends:
-    hasql >= 1.1.1 && < 1.2,
+    hasql >= 1.3 && < 1.4,
     potoki >= 0.11.1 && < 0.12,
     potoki-core >= 1.5.2 && < 1.6,
     base >= 4.10.1.0 && < 5,
