Postgres, auch bekannt als PostgreSQL, ist ein Eckpfeiler der objektrelationalen Datenbankverwaltung. Dank jahrzehntelanger Entwicklungsarbeit ist Postgres eine zuverlässige, flexible Datenbank mit hoher Leistung.
Dieser praktische Leitfaden zeigt dir, wie du in Postgres Datenbanken und Tabellen erstellst und Datenbanken löschst. Außerdem wird gezeigt, wie du die gleichen Aufgaben mit einem Datenbankverwaltungsprogramm wie Adminer erledigen kannst.
Erste Schritte mit Postgres
Stelle zunächst sicher, dass du Postgres auf deinem System installiert hast. Wenn das nicht der Fall ist, lade dir die notwendige Datei herunter und folge den Installationsanweisungen.
Denk daran, dass die hier gezeigten Befehle auf macOS demonstriert werden, aber sie funktionieren problemlos auf jedem Betriebssystem.
Sobald Postgres installiert ist, gibst du diesen Befehl in deinem Terminal ein, um zu überprüfen, ob alles reibungslos funktioniert:
postgres -V
Dieser Befehl sollte die Versionsnummer deiner Postgres-Installation zurückgeben:
Wie man sich mit dem PostgreSQL-Datenbankserver verbindet
Du hast also Postgres auf deinem System installiert und bist bereit, Datenbanken zu erstellen. Aber wie greifst du auf deine Datenbank zu? Hier kommt das interaktive Postgres-Terminal, auch psql genannt, ins Spiel. Psql ist ein terminalbasiertes Frontend für Postgres, mit dem du Abfragen an Postgres stellen und die Ergebnisse der Abfrage anzeigen kannst.
Während der Installation erstellt Postgres einen Standard-Superuser auf deinem Betriebssystem, der ultimativen Zugriff auf die Datenbank hat. Mit diesem Befehl kannst du dich am psql Terminal als Standard-Superuser anmelden:
psql postgres
Nachdem du diesen Befehl ausgeführt hast, solltest du sehen, dass dein Terminal auf postgres=#
wechselt, was bedeutet, dass du als Standard-Superuser angemeldet bist.
Einer der größten Vorteile von psql sind die Meta-Befehle. Mit diesen leistungsstarken Werkzeugen kannst du Verwaltungsaufgaben für Datenbanken ausführen, wie z. B. eine Verbindung zu Datenbanken herstellen oder Tabellen anzeigen, ohne die genauen SQL-Befehle zu kennen.
Um einen Meta-Befehl in psql zu verwenden, beginnst du mit einem Backslash (\
), gefolgt von dem Befehl. Hier sind ein paar Beispiele:
\c <database-name>
– Verbindet dich mit einer bestimmten Datenbank.\l
– Listet alle Datenbanken auf dem Server auf.\dt
– Zeigt alle Tabellen in einer Datenbank an.
Wie man Postgres-Datenbanken anlegt
Wenn du mit Datenbanken arbeitest, ist es ratsam, dem Prinzip der geringsten Rechte zu folgen, indem du einen neuen Benutzer mit bestimmten Rechten anlegst. Der Einfachheit halber wollen wir in dieser Anleitung jedoch den Standard-Superuser verwenden, um Datenbanken zu erstellen und zu verwalten.
Führe zunächst den folgenden Meta-Befehl aus, um alle Benutzer auf deinem Postgres-Server aufzulisten:
\du
Wenn du keine neuen Benutzer hinzugefügt hast, solltest du nur den Standard-Superuser sehen:
Je nach Konfiguration deines Systems kann der Standard-Superuser entweder als Postgres-Benutzername oder als Benutzername deines Betriebssystems erscheinen.
In der Standardeinstellung hat der Superuser kein Passwort. Für die spätere Datenbankverwaltung kannst du jedoch mit diesem Befehl ein Passwort festlegen:
\password <superuser-name>
Gib dein Passwort ein, wenn du dazu aufgefordert wirst, und bestätige es. Jetzt kannst du damit beginnen, Datenbanken auf deinem Postgres-Server zu erstellen. Die Syntax zum Erstellen einer Datenbank lautet CREATE DATABASE <database-name>
.
Beginnen wir mit der Erstellung einer Datenbank namens sales
:
CREATE DATABASE sales;
Nach erfolgreicher Erstellung der Datenbank erscheint die folgende Meldung:
Erstelle nun zwei weitere Datenbanken, customers
und employees
, mit diesen Befehlen:
CREATE DATABASE customers;
CREATE DATABASE employees;
Jetzt hast du drei Datenbanken auf deinem lokalen Postgres-Server eingerichtet. Um alle Datenbanken aufzulisten, die du erstellt hast, verwende diesen Meta-Befehl:
\l
Das sind die drei Datenbanken, die du bis jetzt erstellt hast! Die anderen Datenbanken im Bild kannst du ignorieren, sie werden standardmäßig mit der Postgres-Installation geliefert.
Jetzt kannst du dich mit einer bestimmten Datenbank verbinden. Der Meta-Befehl zum Verbinden mit einer beliebigen Datenbank lautet \c <database-name>
.
Führe den folgenden Befehl aus, um dich mit der Datenbank sales
zu verbinden:
\c sales
In deinem Terminal sollte die folgende Meldung erscheinen:
Sobald du mit einer Datenbank verbunden bist, kannst du mit demselben Befehl ganz einfach zu einer anderen Datenbank auf dem Server wechseln. So kannst du von der Datenbank sales
aus den folgenden Befehl ausführen, um dich mit der Datenbank customers
zu verbinden:
\c customers
Tabellen erstellen
Zu Beginn musst du Tabellen erstellen, um deine Datenbank mit Daten zu füllen. Die Syntax zum Erstellen einer Tabelle in Postgres folgt dieser Struktur:
CREATE TABLE <table-name> (
<column1-name> <column1-datatype> <column1-constraint>,
<column2-name> <column2-datatype> <column2-constraint>,
<column3-name> <column3-datatype> <column3-constraint>,
…
…
<columnN-name> <columnN-datatype> <columnN-constraint>
);
Verbinde dich zunächst mit der Datenbank sales
.
\c sales
Als nächstes erstellst du die Tabelle products
mit drei Spalten, die nicht null sein dürfen: product_id
, product_name
, und quantity_sold
:
CREATE TABLE products(
Product_id INT NOT NULL,
Product_name TEXT NOT NULL,
Quantity_sold INT NOT NULL
);
Wenn der Vorgang erfolgreich war, solltest du die folgende Ausgabe sehen:
Als Nächstes kannst du mit dem folgenden Meta-Befehl überprüfen, ob du die Tabelle products
erfolgreich erstellt hast:
\dt
Dieser Befehl listet alle Tabellen in deiner Datenbank auf – in diesem Fall eine Tabelle. Da du mit der Datenbank sales
verbunden bist, solltest du die folgende Ausgabe sehen:
Als nächstes erstellst du zwei Tabellen in der Datenbank employees
. Die erste Tabelle listet die Gehälter auf und die zweite die Adressen. Um diese Tabellen zu erstellen, führe die folgenden Befehle aus:
\c employees
CREATE TABLE salary(
Employee_id INT NOT NULL,
Employee_name TEXT NOT NULL,
Employee_salary INT NOT NULL
);
CREATE TABLE address(
Employee_id INT NOT NULL,
Employee_country TEXT NOT NULL,
Employee_zipcode INT NOT NULL
);
Bestätige abschließend, dass du diese Tabellen erstellt hast, indem du den Meta-Befehl \dt
ausführst. Das ist die Ausgabe, die du sehen solltest:
Wie man Postgres Datenbanken löscht
Das Löschen einer Datenbank ist genauso einfach wie das Erstellen einer Datenbank. Die Syntax zum Löschen einer Datenbank lautet DROP DATABASE <database-name>;
.
Du musst dich nicht mit einer bestimmten Datenbank verbinden, um sie zu löschen. Wenn du also die Datenbank customers
löschen willst, kannst du diesen Befehl von jeder Datenbank aus ausführen, mit der du verbunden bist:
DROP DATABASE customers;
Nach erfolgreicher Löschung solltest du diesen Bildschirm sehen:
Du kannst bestätigen, dass die Datenbank customers
nicht mehr existiert, indem du die Datenbanken auf deinem lokalen Postgres-Server mit dem Meta-Befehl \l
auflistest.
Handhabung von Postgres-Datenbankoperationen mit Adminer
Bis jetzt hast du die Grundlagen von Postgres kennengelernt, indem du über die Kommandozeile Datenbanken erstellt, Tabellen angelegt und Datenbanken gelöscht hast.
Die Kommandozeile kann jedoch einschüchternd oder mühsam sein. Hier kann ein Datenbankverwaltungstool wie Adminer helfen. Mit Adminer kannst du alle oben genannten Datenbankoperationen über eine grafische Benutzeroberfläche durchführen. Obwohl du Adminer auch unabhängig davon verwenden kannst, ist er eine Standardkomponente von DevKinsta.
Um deine Datenbank mit Adminer zu verwalten, musst du außerdem die Adminer PHP-Datei herunterladen. Öffne einmal dein Terminal, um den integrierten Webserver zu starten, der PHP-Dateien ausführt, und navigiere zu dem Ort, an dem du die Adminer PHP-Datei abgelegt hast:
cd path/to/Adminer php file
Starte dann den Webserver mit dem folgenden Befehl:
php -S 127.0.0.1:8000
Jetzt kannst du die Adminer-Benutzeroberfläche in deinem Webbrowser verwenden. Gib die folgende Adresse in deinen Webbrowser ein: http://localhost:8000/<Deine-Adminer-php-Datei.php>
Du solltest die Adminer-Benutzeroberfläche (UI) in deinem Webbrowser sehen:
Um deinen lokalen Postgres-Server einzugeben, befolge die folgenden Anweisungen, während du die Felder auf dieser Seite ausfüllst:
- Wähle PostgreSQL für das Feld System.
- Der Server sollte auf localhost voreingestellt sein.
- Gib bei Benutzername den Namen des Superusers ein, entweder „postgres“ oder den Benutzernamen des Betriebssystems deines Computers.
- Als Passwort gibst du das Passwort ein, das du für den Superuser im Abschnitt „Datenbanken erstellen“ festgelegt hast.
- Lass das Feld Datenbank leer.
Nach erfolgreicher Authentifizierung siehst du die Liste aller Datenbanken, die du zuvor erstellt hast, wie unten abgebildet. Wenn du mit Windows arbeitest, kann die folgende Fehlermeldung auftreten: „Keine der unterstützten PHP-Erweiterungen (PgSQL, PDO_PgSQL) ist verfügbar.“ Wenn dies der Fall ist, bearbeite die Datei php.ini und aktiviere diese Erweiterungen.
Um eine neue Datenbank zu erstellen, klicke auf den Hyperlink Datenbank erstellen:
Benenne deine Datenbank customers
und klicke auf die Schaltfläche Speichern.
Überprüfe dann, ob du die Datenbank customers
erstellt hast, indem du auf den Hyperlink Server klickst, wie unten gezeigt:
Du siehst jetzt die Datenbank customers
. Klicke auf die customers
, um dich mit ihr zu verbinden.
Wie du sehen kannst, gibt es keine Tabellen in dieser Datenbank. Klicke auf den Hyperlink Tabelle erstellen, um eine neue Tabelle mit dem Namen locations
zu erstellen.
Fülle die entsprechenden Spalten so aus, dass sie dem Bild unten entsprechen, und klicke auf die Schaltfläche Speichern:
Du solltest jetzt die Tabelle in deiner customers
Datenbank sehen können:
Klicke erneut auf den Hyperlink Server, um alle deine Datenbanken zu sehen. Aktiviere das Kontrollkästchen bei Kunden. Wenn du die Datenbank customers
anklickst, wird die Schaltfläche Löschen darunter aktiviert. Klicke auf Löschen, um die Datenbank zu löschen. Du erhältst eine Bestätigung, dass du die Datenbank gelöscht hast:
Zusammenfassung
Du hast jetzt gelernt, wie du auf deinem lokalen Postgres-Server über die Kommandozeile Datenbanken anlegen, Tabellen in deiner Datenbank erstellen und Datenbanken löschen kannst. Außerdem hast du gelernt, wie einfach du diese Aufgaben mit einem Datenbankverwaltungsprogramm wie Adminer durchführen kannst.
Obwohl diese und andere Methoden der Datenbank- und Tabellenverwaltung über die Befehlszeile funktionieren, macht die Benutzeroberfläche von Adminer die Durchführung dieser Aufgaben noch reibungsloser.
Als WordPress-Entwickler hast du mit DevKinsta Zugang zu Adminer und einer Vielzahl anderer Tools, die dir bei der Verwaltung deiner Datenbanken helfen. Um deine Postgres-Datenbanken einfach zu verwalten, solltest du DevKinsta ausprobieren – es ist auf unbegrenzte Zeit kostenlos!
Schreibe einen Kommentar