PostgreSQL-Datenbank in Python verbinden: Anleitung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

PostgreSQL-Datenbank in Python verbinden: Komplettguide für Entwickler

Die Arbeit mit Datenbanken ist ein zentraler Bestandteil moderner Softwareentwicklung. PostgreSQL gehört zu den beliebtesten relationalen Datenbanksystemen und überzeugt durch Zuverlässigkeit, hohe Leistung und einen umfangreichen Funktionsumfang.

In diesem Artikel zeigen wir dir Schritt für Schritt, wie du eine PostgreSQL-Datenbank in Python verbindest, Daten mit SELECT und DELETE abfragst und die Bibliothek psycopg2 mit praktischen Beispielen einsetzt. Außerdem beleuchten wir die Unterschiede zu SQLite.

Warum PostgreSQL für Entwickler?

PostgreSQL ist bei Entwicklern besonders beliebt – aus gutem Grund:

  • Unterstützung komplexer SQL-Abfragen und erweiterter Datentypen
  • Hohe Zuverlässigkeit und Datensicherheit
  • Transaktionen, Indizes, Trigger und Views
  • Hervorragende Skalierbarkeit für große Projekte
  • Open Source mit aktiver Community

PostgreSQL unterstützt zudem JSON-Daten, Arrays, benutzerdefinierte Datentypen und zahlreiche Erweiterungen – eine universelle Lösung für verschiedenste Anwendungsfälle.

PostgreSQL installieren und Umgebung einrichten

Installation auf verschiedenen Betriebssystemen

Windows: Lade das Installationspaket von der offiziellen PostgreSQL-Website herunter und folge dem Setup-Assistenten.

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install postgresql postgresql-contrib

macOS:

brew install postgresql

Datenbank und Benutzer anlegen

Nach der Installation erstellst du eine Datenbank und einen Benutzer:

CREATE DATABASE my_database;
CREATE USER my_user WITH PASSWORD 'my_password';
GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;

Zugriff auf die Datenbank konfigurieren

Für eine sichere Verbindung empfehlen wir:

  • Die Datei pg_hba.conf für Zugriffssteuerung anpassen
  • Sichere Passwörter für Benutzer vergeben
  • SSL-Verbindungen für Remote-Zugriffe nutzen
  • Netzwerkzugriff über die Firewall einschränken

PostgreSQL aus Python verbinden

psycopg2 installieren und konfigurieren

Die Standardbibliothek für PostgreSQL in Python ist psycopg2. Installiere sie mit pip:

pip install psycopg2

Bei Kompilierungsproblemen verwende die Binärversion:

pip install psycopg2-binary

Einfache Verbindung zur Datenbank

import psycopg2

try:
    connection = psycopg2.connect(
        database="my_database",
        user="my_user",
        password="my_password",
        host="localhost",
        port="5432"
    )
    print("Verbindung erfolgreich hergestellt!")
except Exception as e:
    print(f"Verbindungsfehler: {e}")
finally:
    if connection:
        connection.close()
        print("Verbindung geschlossen.")

Mit Kontextmanager arbeiten

Für automatische Verbindungsverwaltung empfiehlt sich der Kontextmanager:

import psycopg2

with psycopg2.connect(
    database="my_database",
    user="my_user",
    password="my_password",
    host="localhost",
    port="5432"
) as connection:
    cursor = connection.cursor()
    cursor.execute("SELECT version();")
    version = cursor.fetchone()
    print(f"PostgreSQL-Version: {version}")

SQL-Abfragen in PostgreSQL ausführen

SELECT-Abfragen durchführen


                    

Blogs

Buchempfehlungen