aboutsummaryrefslogtreecommitdiffstats
path: root/python/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/db.py')
-rw-r--r--python/db.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/python/db.py b/python/db.py
index 2a10b0bd..43405eed 100644
--- a/python/db.py
+++ b/python/db.py
@@ -4,6 +4,7 @@ import psycopg2
from psycopg2.extras import DictCursor
from psycopg2 import IntegrityError, DataError
from psycopg2.extensions import register_adapter, AsIs
+from psycopg2.pool import SimpleConnectionPool
from sqlalchemy import create_engine
from sqlalchemy.engine.url import URL
import numpy as np
@@ -32,7 +33,7 @@ register_adapter(datetime.date, InfDateAdapter)
register_adapter(np.int64, lambda x: AsIs(x))
register_adapter(np.float, nan_to_null)
-def dbconn(dbname):
+def dbconn(dbname, cursor_factory=DictCursor):
if dbname == 'etdb':
dbname = 'ET'
user_name = 'et_user'
@@ -41,7 +42,7 @@ def dbconn(dbname):
return psycopg2.connect(database=dbname,
user=user_name,
host=os.environ.get("PGHOST", "debian"),
- cursor_factory=DictCursor)
+ cursor_factory=cursor_factory)
def dbengine(dbname):
if dbname in ['rmbs_model', 'corelogic']:
@@ -84,3 +85,8 @@ def query_db(conn, sqlstr, params=None, one=True):
conn.commit()
r = c.fetchone() if one else c.fetchall()
return r
+
+serenitas_pool = SimpleConnectionPool(2, 5, database='serenitasdb',
+ user='serenitas_user',
+ host=os.environ.get("PGHOST", "debian"),
+ cursor_factory=None)