Files
FACULTATE-MESSENGER/messenger_app/database/postgresql_database/connection.py
T
2024-01-12 22:19:19 +02:00

55 lines
1.6 KiB
Python

import psycopg2
class PostgreSQLHandler:
def __init__(self, dbname, user, password, host, port):
self.dbname = dbname
self.user = user
self.password = password
self.host = host
self.port = port
self.connection = None
def connect(self):
try:
self.connection = psycopg2.connect(
dbname=self.dbname,
user=self.user,
password=self.password,
host=self.host,
port=self.port
)
print("Connected to PostgreSQL.")
return self.connection
except psycopg2.Error as e:
print(f"Error: Unable to connect to the PostgreSQL database\n{e}")
return None
def execute_query(self, query, params=None, fetchall=False):
try:
with self.connection.cursor() as cursor:
cursor.execute(query, params)
if fetchall:
result = cursor.fetchall()
return result
else:
self.connection.commit() # Commit the transaction for INSERT, UPDATE, DELETE queries
except psycopg2.Error as e:
print(f"Error: Unable to execute the query\n{e}")
return None
def close(self):
if self.connection:
self.connection.close()
print("PostgreSQL connection closed.")
self.connection = None
POSTGRESQL_CONFIG = {
'dbname': 'vliwybbf',
'user': 'vliwybbf',
'password': 'X0fhZ6NT3mjT7rbgZ5lQQ6ZYQpVyUwxq',
'host': 'rogue.db.elephantsql.com',
'port': '5432'
}