PostgreSQL: Verwendung von PostgreSQL mit Django

Diese Dokumentation ist Teil des Erste Schritte-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man mit PostgreSQL beginnt.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite PostgreSQL-Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Unbegrenzte Verbindungen und Datenübertragungen.
  • PgAdmin Web-UI inklusive.
  • Viele Module enthalten wie PostGIS, TimescaleDB und PgVector.
  • Mühelose Updates mit nur einem Klick.
  • Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die PostgreSQL-Cloud-Hosting-Lösung von Stackhero auszuprobieren!

Falls noch nicht installiert, installieren Sie das psycopg-Modul, das zur Verbindung mit PostgreSQL verwendet wird:

pip install psycopg

In diesem ersten Schritt speichern Sie das Passwort direkt in der settings.py-Datei. Diese Methode ist nur für Tests gedacht, da sie nicht sicher ist. Weiter in dieser Dokumentation finden Sie ein Beispiel für bewährte Praktiken.

Öffnen Sie die settings.py-Datei und fügen Sie die folgende Konfiguration hinzu:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'HOST': '<XXXXXX>.stackhero-network.com',
    'PORT': <PORT>,
    'OPTIONS': {
      'sslmode': 'require',
    },
    'NAME': 'admin',
    'USER': 'admin',
    'PASSWORD': '<ADMIN_PASSWORD>'
  }
}

Achtung: Dieses Beispiel wird nicht für die Produktion empfohlen und ist nur für Testzwecke gedacht!

Sobald Ihre Verbindung funktioniert, können Sie eine sicherere Methode zur Speicherung von Anmeldeinformationen übernehmen. Das folgende Beispiel verwendet django-environ und speichert Anmeldeinformationen in einer .env-Datei.

  1. Installieren Sie django-environ:

    pip install django-environ
    
  2. Öffnen Sie die settings.py-Datei und ändern Sie sie wie folgt:

    import environ
    env = environ.Env()
    environ.Env.read_env()
    
    DATABASES = {
      'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'HOST': env('STACKHERO_POSTGRESQL_HOST'),
        'PORT': <PORT>,
        'OPTIONS': {
          'sslmode': 'require',
        },
        'NAME': 'admin',
        'USER': 'admin',
        'PASSWORD': env('STACKHERO_POSTGRESQL_ADMIN_PASSWORD')
      }
    }
    
  3. Öffnen oder erstellen Sie die .env-Datei im selben Verzeichnis wie settings.py und fügen Sie hinzu:

    STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
    STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD>
    
  4. Fügen Sie schließlich .env zu Ihrer .gitignore-Datei hinzu, um sicherzustellen, dass Ihre Anmeldeinformationen nicht in Ihrem Git-Repository gespeichert werden:

echo ".env" >> .gitignore