diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # CHANGELOG
 
+## 3.9.0
+### Changed
+* Add instance for `MonadFail` (odrdo)
+
 ## 3.8.2
 ### Changed
 * Remove unused dependency `type-fun`
diff --git a/postgresql-query.cabal b/postgresql-query.cabal
--- a/postgresql-query.cabal
+++ b/postgresql-query.cabal
@@ -1,5 +1,5 @@
 name:                postgresql-query
-version:             3.8.2
+version:             3.9.0
 
 synopsis: Sql interpolating quasiquote plus some kind of primitive ORM
           using it
diff --git a/src/Database/PostgreSQL/Query/Types.hs b/src/Database/PostgreSQL/Query/Types.hs
--- a/src/Database/PostgreSQL/Query/Types.hs
+++ b/src/Database/PostgreSQL/Query/Types.hs
@@ -52,6 +52,10 @@
 import Data.Semigroup
 #endif
 
+#if !MIN_VERSION_base(4,13,0)
+import           Control.Monad.Fail
+#endif
+
 import qualified Blaze.ByteString.Builder.ByteString as BB
 import qualified Control.Monad.Trans.State.Lazy as STL
 import qualified Control.Monad.Trans.State.Strict as STS
@@ -299,7 +303,7 @@
                , MonadState s, MonadError e, MonadTrans
                , Alternative, MonadFix, MonadPlus, MonadIO
                , MonadCont, MonadThrow, MonadCatch, MonadMask
-               , MonadBase b, MonadLogger )
+               , MonadBase b, MonadLogger, MonadFail )
 
 #if MIN_VERSION_monad_control(1,0,0)
 instance (MonadBaseControl b m) => MonadBaseControl b (PgMonadT m) where
