55 lines
1.2 KiB
Python
55 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
libinv
|
|
|
|
Library for interacting with inventory database.
|
|
"""
|
|
|
|
# Imports
|
|
import psycopg2
|
|
from configparser import ConfigParser
|
|
|
|
def config(filename="postgres.ini", section="postgresql"):
|
|
parser = ConfigParser()
|
|
parser.read(filename)
|
|
|
|
db = {}
|
|
if parser.has_section(section):
|
|
params = parser.items(section)
|
|
for param in params:
|
|
db[param[0]] = param[1]
|
|
else:
|
|
raise Exception('Section {0} not found in the {1} file'.format(section, filename))
|
|
|
|
return db
|
|
|
|
|
|
def connect():
|
|
""" Connect to the PostgreSQL database server """
|
|
conn = None
|
|
try:
|
|
params = config()
|
|
|
|
print("Connecting to the PostgreSQL database...")
|
|
conn = psycopg2.connect(**params)
|
|
|
|
cur = conn.cursor()
|
|
|
|
# execute a statement
|
|
print("Postgres version:")
|
|
cur.execute("SELECT version()")
|
|
|
|
# display the database version
|
|
db_version = cur.fetchone()
|
|
print(db_version)
|
|
except (Exception, psycopg2.DatabaseError) as e:
|
|
print(e)
|
|
finally:
|
|
if conn is not None:
|
|
conn.close()
|
|
print("Database connection closed.")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
connect()
|