def get_rs(queries): rs = dict() connection = RealDictConnection(config.conn_string) connection.set_client_encoding('latin1') cursor = connection.cursor() cursor.execute('begin transaction isolation level serializable;') for query_nome, query in queries.items(): cursor.execute(query['query'], query.get('args', {})) rs[query_nome] = cursor.fetchall() cursor.execute('commit;') cursor.close() connection.close() return rs
import psycopg2.extensions from psycopg2.extras import RealDictConnection psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) conn_string = "host=%s port=%s dbname=%s user=%s password=%s" % ( "localhost4", "5432", "fahstats", "kakaostats", "aroeira") connection = RealDictConnection(conn_string) connection.set_client_encoding('latin1') cursor = connection.cursor() query = """\ set session work_mem = 2097152 ; begin transaction isolation level serializable ; create table donor_work_old (like donors_old including constraints including defaults) ; alter table donors_old rename to donors_old_back ;""" cursor.execute(query) query = """\ select distinct data from donors_old_back ;""" cursor.execute(query) rs = cursor.fetchall()