55 lines
1.6 KiB
Python
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'
|
|
}
|