diff --git a/src/Yam/Transaction.hs b/src/Yam/Transaction.hs
--- a/src/Yam/Transaction.hs
+++ b/src/Yam/Transaction.hs
@@ -39,9 +39,11 @@
 
 data DataSourceConfig = DataSourceConfig
   { dstype  :: Text
+  , dbname  :: Text
   , url     :: Text
   , user    :: Text
   , pass    :: Text
+  , extra   :: Text
   , port    :: Int
   , thread  :: Int
   , enabled :: Bool
@@ -50,9 +52,11 @@
 instance FromJSON DataSourceConfig where
   parseJSON (Object v) = DataSourceConfig
     <$> v .:? "type"      .!= "sqlite"
-    <*> v .:? "url"       .!= ":memory:"
+    <*> v .:? "dbname"    .!= ":memory:"
+    <*> v .:? "url"       .!= "localhost"
     <*> v .:? "username"  .!= "sa"
     <*> v .:? "password"  .!= ""
+    <*> v .:? "extra"     .!= ""
     <*> v .:? "port"      .!= 0
     <*> v .:? "pool-size" .!= 10
     <*> v .:? "enabled"   .!= True
diff --git a/src/Yam/Transaction/Postgresql.hs b/src/Yam/Transaction/Postgresql.hs
--- a/src/Yam/Transaction/Postgresql.hs
+++ b/src/Yam/Transaction/Postgresql.hs
@@ -13,5 +13,10 @@
   where
     go DataSourceConfig{..} =
       let port' = if port==0 then "5432" else pack (show port)
-          conn  = "host=" <> url <> " port=" <> port' <> " user=" <> user <> " pass=" <> pass
+          conn  = "dbname=" <> dbname
+               <> " host="  <> url
+               <> " port="  <> port'
+               <> " user="  <> user
+               <> " password=" <> pass
+               <> " " <> extra
       in createPostgresqlPool (cs conn) thread
diff --git a/src/Yam/Transaction/Sqlite.hs b/src/Yam/Transaction/Sqlite.hs
--- a/src/Yam/Transaction/Sqlite.hs
+++ b/src/Yam/Transaction/Sqlite.hs
@@ -5,4 +5,4 @@
 import           Database.Persist.Sqlite
 
 sqliteProvider :: DataSourceProvider
-sqliteProvider = DataSourceProvider "sqlite" "SELECT CURRENT_TIMESTAMP" (\DataSourceConfig{..} -> createSqlitePool url thread)
+sqliteProvider = DataSourceProvider "sqlite" "SELECT CURRENT_TIMESTAMP" (\DataSourceConfig{..} -> createSqlitePool dbname thread)
diff --git a/yam-transaction.cabal b/yam-transaction.cabal
--- a/yam-transaction.cabal
+++ b/yam-transaction.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 4739d7a08350b4c0aaf0a184e357f36d395a74259c23535bd9a4bf4329948f8b
+-- hash: 035940b2a4748ecebc1186059eae45d67b33b14b9ac22e879f2a7924c452a378
 
 name:           yam-transaction
-version:        0.3.2
+version:        0.3.3
 synopsis:       Yam transaction
 description:    transaction module for yam
 category:       Project
