Damit wir im späteren Verlauf des Semesters Objekte persistieren können, benötigen wir eine Datenbank.
Folgende Datenbankmanagementsysteme (DBMS), beziehungsweise Database Engines sind in der Software-Entwicklung gebräuchlich:
In diesem Modul werden wir PostgreSQL einsetzen. Laden Sie dazu die Version 17 herunter und installieren Sie diese.
Die Installation kann mit folgendem Befehl überprüft werden.
Falls psql
nicht als Befehl gefunden wird, überprüfen Sie, ob der Ordner bin
der PostgreSQL-Installation der Umgebungsvariable path
hinzugefügt ist.
Der Standardbenutzer heisst postgres
. Damit könnten Sie bereits einzelne DQL-Statements ausführen.
Für die lokale Entwicklung erlauben wir den lokalen Zugriff ohne Passwort, indem wir die Datei pg_hba.conf
entsprechend anpassen.
psql -U postgres -c "SHOW hba_file;"
Nur für lokale Entwicklung, niemals für produktive Datenbanken!
Ändern Sie in der Datei pg_hba.conf
folgende Zeilen.
Old: `host all all 127.0.0.1/32 scram-sha-256` New: `host all all 127.0.0.1/32 trust` Old: `host all all ::1/128 scram-sha-256` New: `host all all ::1/128 trust`
Damit die Änderung wirksam wird, muss der Datenbankserver mit Admin-Rechten neu gestartet werden.
net stop postgresql-x64-17 && net start postgresql-x64-17
Zeigen Sie die aktuellen Benutzer an.
psql -U postgres -c "SELECT * FROM pg_catalog.pg_user;"
Erstellen Sie einen neuen Benutzer mit einem Namen und Passwort Ihrer Wahl.
psql -U postgres -c "CREATE USER localuser WITH LOGIN;"
Dieser Benutzer sollte nun aufgelistet sein.
psql -U postgres -c "SELECT * FROM pg_catalog.pg_user;"
Sie können nun eine Datenbank anlegen und anstatt postgres
Ihren eigenen Benutzer als Besitzer definieren. Damit trennen Sie die Serveradministration von der Datenbankadministration.
psql -U postgres -c "CREATE DATABASE localdb OWNER localuser;"
Diese Datenbank ist nun bereit und kann aus einem Backend aufgerufen werden.