forked from zalando/PGObserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DataDB.py
36 lines (29 loc) · 881 Bytes
/
DataDB.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'''
Created on Sep 19, 2011
@author: jmussler
'''
import psycopg2
import psycopg2.extras
connection_string = "dbname=dbmonitor host=localhost user=postgres password=postgres"
def setConnectionString(conn_string):
global connection_string
connection_string = conn_string
def getDataConnection():
conn = psycopg2.connect(connection_string)
conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)
cur = conn.cursor()
cur.execute("SET work_mem TO '64MB';")
cur.close()
return conn
def closeDataConnection(c):
c.close()
def execute(sql, params=None):
conn = None
try:
conn = getDataConnection()
cur=conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
cur.execute(sql, params)
return cur.fetchall()
finally:
if conn and not conn.closed:
conn.close