A python API for managing postgresql database
Install and setup
Install third party packages:
sudo apt install python3-dev libpq-dev unixodbc-dev
To install the package
python3 -m pip install acrocord
use python in the proper environment e.g. in conda powershell
Setup database configuration and connection
SSL connection: if SSL connection is required, put the certificates given by administrator in /home/$USER/.postgresql
create the folder if it does not already exist
Default connection configuration can be saved in connections.cfg
in the folder /home/$USER/.postgresql/
for linux
user or typically C:\Users\$USER\.postgresql
for windows user.
Example of connections.cfg
:
[connection-name]
user=USERNAME
dbname=DATABASENAME
port=PORT
host=HOST
ssh=False
password=PASSWORD
[!TIP]
- the
host
field does not recognize ssh alias, use ip address - the
port
field is typically 5432 or 5433 - the name of the database is
dbname
Then in python the connection can directly be instantiate using the keyword connection-name
from acrocord import ConnectDatabase
db = ConnectDatabase()
db.connect(connection="connection-name")
Alternatively, you can use the following syntax
from acrocord import ConnectDatabase
db = ConnectDatabase()
connection = dict(
user="USERNAME",
print_sql_cmd=True,
dbname="DATABASENAME",
port="PORT",
host="HOST",
ssh=False
)
db.connect(print_sql_cmd=True, connection=connection)
Simple usage
import pandas as pd
db.create_schema("SCHEMA")
db.write_table(pd.DataFrame(1, index=[1, 2, 3], columns=[1, 2, 3]), "SCHEMA.NAME")
db.read_table("SCHEMA.NAME")
[!CAUTION]
- If the password is trivial (for local connection), add password field to the dictionary
connection
- Password field can be added in
connections.cfg
file - If no password is provided python will open an log in window
- No password is needed with ssl connection
Other topics
Author