Spaces:
Runtime error
Runtime error
| import os | |
| from typing import Optional | |
| from psycopg_pool import AsyncConnectionPool | |
| def get_conn_str(): | |
| return f""" | |
| dbname={os.getenv('POSTGRES_DB') or "vectordb"} | |
| user={os.getenv('POSTGRES_USER') or "user"} | |
| password={os.getenv('POSTGRES_PASSWORD') or "password"} | |
| host={os.getenv('POSTGRES_HOST') or "localhost"} | |
| port={os.getenv('POSTGRES_PORT') or "5432"} | |
| """ | |
| class PostgresDatabase: | |
| def __init__(self): | |
| self.db_pool = Optional[None] | |
| self.conn = Optional[None] | |
| async def create_connection_pool(self): | |
| try: | |
| self.conn = AsyncConnectionPool(conninfo=get_conn_str()) | |
| if self.conn: | |
| self.db_pool = self.conn | |
| except ConnectionError as error: | |
| print(f"DB connection error {error}") | |
| async def close_connection_pool(self): | |
| try: | |
| if self.db_pool: | |
| await self.conn.close() | |
| except Exception as error: | |
| print(f"Error in closing db connection {error}") | |
| postgres_db = PostgresDatabase() | |