Jeg løste problemet ved at bruge pakken pyodbc.here:
import pyodbc
import pandas as pd
conn_str = (
"DRIVER={PostgreSQL Unicode};"
"DATABASE=adp_report;"
"UID=db_name;"
"PWD=password;"
"SERVER=111.111.11.11;"
"PORT=5432;"
)
Bemærk, at "DRIVER={PostgreSQL Unicode};" er bogstaveligt talt den streng. For de andre argumenter ændrer dem i overensstemmelse hermed. Her er en praktisk funktion til at sende forbindelsesstrengen og forespørgslen fra databasen.
def query_db(query):
conn = pyodbc.connect(conn_str)
dat = pd.read_sql(query, conn)
conn.close()
return dat