Stellen Sie mit Python eine Verbindung zur PostgreSQL-Datenbank her

Jay Shaw 21 Juni 2023
  1. Installieren Sie PostgreSQL im System
  2. Erstellen Sie einen Datenserver und eine Datenbank mit pgAdmin
  3. Schritte zum Verbinden der PostgreSQL-Datenbank mit Python
  4. Erstellen Sie eine Konfigurationsdatei (.ini), die die Serverinformationen speichert
  5. Erstellen Sie eine Python-Datei, die die Konfigurationsdatei analysiert
  6. Schritte zum Verbinden mit der PostgreSQL-Datenbank
  7. Abschluss
Stellen Sie mit Python eine Verbindung zur PostgreSQL-Datenbank her

In diesem Artikel wird das Verfahren zum Erstellen einer Verbindung zu Datenbanken erläutert, die auf PostgreSQL hergestellt werden. Wir benötigen Voraussetzungen wie die Installation von PostgreSQL und das Erstellen einer Datenbank, wie unten erläutert.

Installieren Sie PostgreSQL im System

Wie der Name schon sagt, ist PostgreSQL eine SQL-Systemsoftware, die entwickelt wurde, um Datenbanksysteme effizient zu verwalten.

Eine Datenbank muss erstellt werden, bevor sie mit Python verbunden werden kann. Postgres, implementieren Sie es.

Verwirrung herrscht bei vielen Anfängern, die mit dem Erlernen der Datenbankentwicklung beginnen. Es wird davon ausgegangen, dass die Datenbank mit pgAdmin und nicht mit PostgreSQL erstellt wird.

Tatsächlich verwaltet Ersteres die Datenbanken, während Letzteres das Framework ist, auf dem es aufbaut.

pgAdmin muss mit PostgreSQL verknüpft werden, bevor eine Datenbank erstellt werden kann. Daher muss zunächst PostgreSQL installiert werden.

Das Installationspaket von Postgres finden Sie im Downloadbereich der offiziellen Website von PostgreSQL. Der Benutzer kann dann die Anwendung von dort herunterladen und installieren.

Für Betriebssysteme wie Mac, Linux und Windows stehen verschiedene Installer zur Verfügung.

Benutzer können auch den Quellcode erhalten und pgAdmin4 manuell kompilieren und auf ihrem PC installieren.

pgAdmin ist ein effizientes Tool zum Verwalten von Datenbanken, die mit PostgreSQL arbeiten. Die herunterladbaren Dateien wie das Installationsprogramm finden Sie auf der Online-Webseite der Anwendung.

Man kann aus einer Liste aller stabilen Versionen von pgAdmin und anderen Distributionen von Installationspaketen auswählen, die dem Prozess von PostgreSQL ähnlich waren.

Sobald pgAdmin im System installiert ist, können Datenbanken erstellt werden.

Erstellen Sie einen Datenserver und eine Datenbank mit pgAdmin

Dieser Abschnitt enthält zwei Unterabschnitte. Der erste Abschnitt erläutert, wie Datenserver erstellt werden, während sich der zweite auf Datenbanken konzentriert.

Erstellen Sie einen Datenserver in pgAdmin

Bevor eine Datenbank erstellt wird, muss pgAdmin ordnungsgemäß eingerichtet werden. Eine Eingabeaufforderung fragt nach einem Master-Passwort, das verwendet wird, wenn eine neue Datenbank erstellt oder darauf zugegriffen wird.

Die pgAdmin-Webseite wird angezeigt, wenn das Passwort angegeben wurde. Ein neuer Server muss erstellt werden, um eine neue Datenbank zu generieren.

Die Schaltfläche Neuen Server hinzufügen erstellt ein Dialogfenster, in dem ein neuer Server erstellt werden kann.

Neuen Server in pgAdmin hinzufügen

Das zunächst angezeigte Fenster stellt die Funktionalitäten des einzurichtenden Servers zur Verfügung. In diesem Artikel werden einige von ihnen mit Benutzereingaben versehen, während andere systemgeneriert sind und so belassen werden, wie sie sind.

Zunächst wird der Name des Servers benötigt. Gehen Sie danach zum Menü Verbindung.

Dort wird der Hostname benötigt, in der Regel localhost. Der Port muss auf 5432 eingestellt sein.

Das Befolgen der oben genannten Punkte reicht aus, um einen nützlichen Datenserver zu erstellen.

Erstellen Sie eine Datenbank in pgAdmin

Sobald der Datenserver hochgefahren und in Betrieb ist, können Datenbanken erstellt werden. Die erstellten Server werden auf der linken Seite des Anwendungsfensters, dem so genannten Dashboard, angezeigt.

Ein Dropdown-Symbol befindet sich im linken Seitenbereich neben dem Servernamen. Wenn auf dieses Symbol geklickt wird, erscheint ein Passwortdialog, der nach dem Master-Passwort des Systems fragt.

Geben Sie das Master-Passwort in pgAdmin ein

Ein Menü zeigt alle Server, die innerhalb des Systems erstellt wurden. Es bleibt deaktiviert, bis es durch einen Klick mit anschließender Passwortabfrage aktiviert wird.

Klicken Sie mit der rechten Maustaste auf den Bereich Datenbanken und wählen Sie Erstellen. Geben Sie der Datenbank einen Namen und wählen Sie im Eigentümerbereich postgres; Anschließend muss die Datenbankdefinition festgelegt werden.

Bei der Definition einer Datenbank können mehrere Optionen festgelegt werden. Im Folgenden sind einige der wichtigsten Optionen unter den vielen verfügbaren aufgeführt.

  1. Encoding muss auf - UTF - 8 eingestellt sein.
  2. Template sollte auf Postgres eingestellt sein.
  3. Tablespace sollte auf pg_default gesetzt werden.

Sortierung und Zeichentyp sollten unverändert eingestellt werden, während das Verbindungslimit auf -1 festgelegt wird. Wenn Sie zum Menü mit der Bezeichnung sql gehen, erhalten Sie einen Überblick über die hier verwendete Abfrage.

Durch Klicken auf Speichern wird eine Datenbank erstellt.

Schritte zum Verbinden der PostgreSQL-Datenbank mit Python

Das Herstellen einer Verbindung zu einer Datenbank mit Python ist ein dreistufiger Prozess. Zunächst werden die Informationen des Servers in einer Konfigurationsdatei gespeichert.

Es wird eine Python-Datei erstellt, die die Konfigurationsdatei (.ini) parst und im nächsten Schritt den Server lädt. Im letzten Schritt wird eine Python-Datei erstellt, die die Datenbank anbindet.

In diesem Artikel verwendet das Programm das Importpaket psycopg2, um eine Verbindung zu einer PostgreSQL-Datenbank herzustellen, die Datenbankversion abzurufen und sie dann zu drucken.

Erstellen Sie eine Konfigurationsdatei (.ini), die die Serverinformationen speichert

Diese Datei speichert die Details zum Server, was der Datei config.py hilft, die Datenbank zu konfigurieren. Am Anfang der Datei befindet sich der Kopf der Datei, der das verwendete RDBMS angibt.

  1. host - Hier wird der Host bzw. der verwendete Server angegeben.
  2. Datenbank – Hier wird die spezifische Datenbank angegeben, auf die abgezielt werden soll.
  3. user - Der Benutzer sollte als postgres angegeben werden, da es sich um das RDBMS handelt.
  4. password - Hier muss das in pgAdmin beim Erstellen der Datenbank vergebene Master-Passwort eingetragen werden.

Server-Info

Sobald die Infodatei erstellt ist, kann sie in der Konfigurationsdatei verwendet werden.

Erstellen Sie eine Python-Datei, die die Konfigurationsdatei analysiert

Dieses Programm verwendet das Importpaket configparser. Eine Methode config wird mit zwei Parametern filename und section deklariert.

Eine Variable parser wird initialisiert, die die Datei aus der Variable Dateiname liest.

Unten ist die get-Methode, die Elemente aus der Datenbank extrahiert. Der Abschnitt get wird in eine if-else-Anweisung eingefügt, wobei die else-Methode die Ausnahme behandelt.

Abschließend wird die Variable database zurückgegeben.

from configparser import ConfigParser


def config(filename="server_info.ini", section="postgresql"):
    parser = ConfigParser()
    parser.read(filename)

    database = {}
    if parser.has_section(section):
        params = parser.items(section)
        for param in params:
            database[param[0]] = param[1]

    else:
        raise Exception(
            "Section {0} not found in the {1} file".format(section, filename)
        )

    return database

Schritte zum Verbinden mit der PostgreSQL-Datenbank

Das Programm hat zwei Importdateien.

  1. psycopg2
  2. konfigurieren

Es wird eine Methode connect erstellt, die sich mit dem PostgreSQL-Datenbankserver verbindet.

Es wird eine Variable param deklariert, mit der die Parameter der Verbindung gelesen werden. Diese Parameter werden verwendet, um eine Verbindung zum Datenbankserver herzustellen.

Syntax psycopg2.connect(**params) lädt die Verbindungsparameter und verbindet sich mit dem Datenbankserver. Eine weitere Variable, var_cur, wird deklariert, die verwendet wird, um den Cursor zu speichern, der durch die connection.cursor-Syntax erstellt wird.

Die Version von PostgreSQL für die Datenbank wird angezeigt, nachdem die Verbindung hergestellt wurde. var_cur.execute führt die Anweisung SELECT version() aus.

Die Version wird in die Variable version_of_database geladen, die dann von der Funktion fetchone() angezeigt wird, die einzelne Elemente auf einmal abholt. Die Variable wird dann gedruckt.

Nachdem die Datenbankversion geholt wurde, wird der Cursor mit var_cur.close() geschlossen.

Der Ausnahmebehandlungsblock wurde hinzugefügt, um Fehlerausnahmen auszulösen. Innerhalb des Blocks außer gibt das Programm eine Fehlermeldung aus, wenn keine Verbindung zur Datenbank hergestellt werden konnte oder die Datenbank nicht gefunden wurde.

Am Ende der Ausnahmebehandlung wird ein finally-Block hinzugefügt, der die Verbindung mit der Syntax connection.close() schließt. Nachdem die Verbindung geschlossen wurde, gibt die Datenbank eine Nachricht aus, die bestätigt, dass die Verbindung geschlossen wurde.

Zuletzt wird die Methode connection aufgerufen.

import psycopg2
from config import config


def connect():
    connection = None
    try:
        params = config()

        print("Connection made to the postgresql database")
        connection = psycopg2.connect(**params)

        var_cur = connection.cursor()

        print("Database version is - ")
        var_cur.execute("SELECT version()")

        version_of_database = var_cur.fetchone()
        print(version_of_database)

        var_cur.close()
    except (Exception, psycopg2.DatabaseError) as error:
        print(error)
    finally:
        if connection is not None:
            connection.close()
            print("Database connection closed.")


if __name__ == "__main__":
    connect()

Ausgang:

Stellen Sie mit Python eine Verbindung zur PostgreSQL-Datenbank her

Abschluss

Dieser Artikel behandelt die Datenbankerstellung und erklärt, wie Datenbanken in PostgreSQL erstellt werden. Die verschiedenen Funktionalitäten des Softwaretools pgAdmin.

Der Leser lernt detailliert, wie man eine Datenbank mit Python anbindet, so dass dieses Gelernte schnell aufgegriffen und in realen Projekten verwendet werden kann.