diff --git a/Database/PostgreSQL/LibPQ.hsc b/Database/PostgreSQL/LibPQ.hsc
--- a/Database/PostgreSQL/LibPQ.hsc
+++ b/Database/PostgreSQL/LibPQ.hsc
@@ -522,6 +522,7 @@
                        | TransInTrans -- ^ idle, in a valid transaction block
                        | TransInError -- ^ idle, in a failed transaction block
                        | TransUnknown -- ^ the connection is bad
+                         deriving (Eq, Show)
 
 -- | Returns the current in-transaction status of the server.
 --
@@ -1055,7 +1056,9 @@
                -- ^ The name of the source-code function reporting the
                -- error.
 
+                 deriving (Eq, Show)
 
+
 instance Enum FieldCode where
     toEnum (#const PG_DIAG_SEVERITY)           = DiagSeverity
     toEnum (#const PG_DIAG_SQLSTATE)           = DiagSqlstate
@@ -1346,7 +1349,7 @@
     , poTableOpt   :: B.ByteString   -- ^ attributes for HTML table element
     , poCaption    :: B.ByteString   -- ^ HTML table caption
     , poFieldName  :: [B.ByteString] -- ^ list of replacement field names
-    }
+    } deriving Show
 
 
 defaultPrintOpt :: PrintOpt
@@ -1536,6 +1539,7 @@
                        --   write-ready (e.g. by using
                        --   'Control.Concurrent.threadWaitWrite'
                        --   on the 'socket') and try again.
+     deriving (Eq, Show)
 
 
 toCopyInResult :: CInt -> CopyInResult
@@ -1584,6 +1588,7 @@
    | CopyOutError             -- ^ An error occurred (e.g. the connection is
                               --   not in the 'CopyOut' state).  Call
                               --   'errorMessage' for more information.
+     deriving Show
 
 -- | Receive raw @COPY@ data from the server during the 'CopyOut' state.
 --   The boolean parameter determines whether or not the call will block
@@ -1817,6 +1822,7 @@
 data FlushStatus = FlushOk
                  | FlushFailed
                  | FlushWriting
+                   deriving (Eq, Show)
 
 -- | Attempts to flush any queued output data to the server. Returns
 -- 'FlushOk' if successful (or if the send queue is empty),
@@ -1910,7 +1916,7 @@
       notifyRelname :: B.ByteString -- ^ notification channel name
     , notifyBePid   :: CPid         -- ^ process ID of notifying server process
     , notifyExtra   :: B.ByteString -- ^ notification payload string
-    }
+    } deriving Show
 
 instance Storable Notify where
   sizeOf _ = #{size PGnotify}
diff --git a/postgresql-libpq.cabal b/postgresql-libpq.cabal
--- a/postgresql-libpq.cabal
+++ b/postgresql-libpq.cabal
@@ -1,5 +1,5 @@
 Name:                postgresql-libpq
-Version:             0.8
+Version:             0.8.1
 Synopsis:            low-level binding to libpq
 
 Description:         This is a binding to libpq: the C application
@@ -38,4 +38,4 @@
 source-repository this
   type:     git
   location: http://github.com/lpsmith/postgresql-libpq
-  tag:      v0.7.2
+  tag:      v0.8.1
