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
Testen in C++: Unit-, Integrations- und E2E-Tests mit Beispielen
GraphQL API mit Swift: Schritt-für-Schritt-Tutorial für iOS und macOS
OAuth 2.0 und JWT-Autorisierung in TypeScript: Ein vollständiger Leitfaden für Anfänger
Buchempfehlungen
Lesen Sie auch
Hexagonale Architektur in Swift: saubere Logik ohne Abhängigkeiten
Die häufigsten Fehler von Kotlin-Anfängern: von A bis Z
Klasse oder Struktur in C++: Wann was wählen? Analyse der Kernfrage
GraphQL vs REST in Rust: Was man 2025 für das Backend wählen sollte
Monorepository mit TypeScript: Code-Organisation und Best Practices