import psycopg2
import psycopg2.pool
from contextlib import contextmanager

dbpool = psycopg2.pool.ThreadedConnectionPool(host="23.88.122.57",
                                      port=5432,
                                      dbname="postgres",
                                      user="postgres",
                                      password="Berufsorientierung1!",
                                      minconn=1,
                                      maxconn=100,
                                      )

@contextmanager
def db_cursor():
    conn = dbpool.getconn()
    try:
        with conn.cursor() as cur:
            yield cur
            conn.commit()
    except:
        conn.rollback()
        raise
    finally:
        dbpool.putconn(conn)
