wrapper for PostgreSQL queries with transaction and connection pooling support
This project is about making psycopg2 easier to use.
Debian >=10, psycopg2 >=2.7, python >=3.7
install using pipenv:
pipenv install elephant_parsel
from elephant_parsel.postgres_db import PostgresDB, PostgresDBException
import logging
db = PostgresDB(connection_config=dict(
host='db.example.com',
port=5432,
dbname='the_database_name',
user='the_username',
password='****',
minconn=1,
maxconn=4
), logger=logging.getLogger(), connect=True, register_hstore=False)
server_version_string = db.query_one('select version()', None, column='version')
The connection_config
is used as kwargs for the psycopg2.ThreadedConnectionPool
, so it should support all libpq connection variables: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS