Python & Postgres

Eine Abfrage der Datenbank, was wird benötigt?

Eine virtuelle Umgebung + psycopg2

Python installieren und eine virutelle Umgebung einrichten, ist im Web schon viele male beschrieben worden und wir hier nicht wiederholt.

Installation von psycopg2

pip install psycopg2

Ein erstes Skript

Inhalt der Datei pgtest001.py

import psycopg2

try:
    connect_str = """dbname='gl_psql'
    user='postgres' host='localhost'
    password='postgres'"""
    conn = psycopg2.connect(connect_str)
    cursor = conn.cursor()
    sql = "SELECT * from bkzfrau where beruf like '%aal%'"
    cursor.execute(sql)
    rows = cursor.fetchall()
    antwort = "Die Antwort auf Ihre Frage lautet:"
    print(len(antwort) * '#')
    print(antwort)
    print(len(antwort) * '#')
    for row in rows:
        print(row)
    except Exception as e:
        print("Funktioniert nicht! Datenbankname, Benutzer und Password sind ok?")
        print(e)

Aufruf und Ausgabe

(py36) python pgtest001.py
##################################
Die Antwort auf Ihre Frage lautet:
##################################
(7744, 'EDV-Saalaufseherin    ')
(7833, 'Leiterin des Lochkartensaals  ')
(7744, 'Leiterin des Maschinensaals, EDV ')
(7924, 'Lesesaalaufseherin    ')
(7833, 'Lochkartensaalleiterin    ')
(7744, 'Maschinensaalleiterin (EDV)   ')
(9121, 'Obersaaltochter    ')
(7925, 'Saalaufseherin (Wächterin Ordnerin)  ')
(6290, 'Saalaufseherin, Industriemeisterin   ')
(9111, 'Saalbesitzerin    ')
(7056, 'Saalchefin (Croupiere)   ')
(7944, 'Saaldienerin    ')
(9122, 'Saalkellnerin    ')
(9127, 'Saalmädchen    ')
(6290, 'Saalmeisterin    ')
(9331, 'Saalreinigerin    ')
(9127, 'Saaltochter    ')
(7944, 'Theater-, Saaldienerin   ')