Wie man Datenbanken in PostgreSQL verwaltet
PostgreSQL, oft “Postgres” genannt, ist ein leistungsfähiges, quelloffenes relationales Datenbankmanagementsystem. Die Verwaltung von Datenbanken in PostgreSQL umfasst Aufgaben wie das Erstellen, Ändern und Löschen von Datenbanken, Tabellen und Benutzerberechtigungen. Dieser Leitfaden führt Sie durch die wichtigsten Befehle zur Verwaltung von PostgreSQL-Datenbanken.
1. Zugriff auf die PostgreSQL-Kommandozeile
Um PostgreSQL-Datenbanken zu verwalten, greifen Sie zunächst auf die PostgreSQL-Kommandozeilen-Schnittstelle (CLI) zu. Standardmäßig verwendet PostgreSQL das Benutzerkonto postgres.
Schritt 1: Wechseln Sie zum PostgreSQL-Benutzer
sudo -i -u postgres
Schritt 2: Zugriff auf die PostgreSQL-CLI
psql
Sobald Sie in der CLI sind, sehen Sie die Eingabeaufforderung postgres=#, die anzeigt, dass Sie sich in der PostgreSQL-Umgebung befinden.
2. Erstellen einer neuen Datenbank
Um eine neue Datenbank zu erstellen, verwenden Sie den Befehl CREATE DATABASE. Die Syntax lautet wie folgt:
CREATE DATABASE datenbank_name;
Beispiel:
CREATE DATABASE my_database;
Dies erstellt eine Datenbank mit dem Namen my_database. Zum Überprüfen verwenden Sie:
\l
3. Erstellen und Verwalten von Benutzern
Datenbankbenutzer benötigen die Berechtigung, auf Datenbanken zuzugreifen und diese zu verändern. Hier erfahren Sie, wie Sie Benutzer in PostgreSQL erstellen und verwalten können.
Einen neuen Benutzer erstellen
CREATE USER username WITH PASSWORD 'password';
Beispiel:
CREATE USER dbuser WITH PASSWORD 'securepassword';
Datenbankzugriff gewähren
Um einem Benutzer den Zugriff auf eine Datenbank und deren Verwaltung zu ermöglichen, verwenden Sie den Befehl GRANT:
GRANT ALL PRIVILEGES ON DATABASE database_name TO username;
Beispiel:
GRANT ALL PRIVILEGES ON DATABASE my_database TO dbuser;
Dies gewährt dbuser vollen Zugriff auf my_database.
4. Verbinden mit einer Datenbank
Um eine Verbindung zu einer bestimmten Datenbank herzustellen, verwenden Sie den Befehl \c, gefolgt von dem Namen der Datenbank.
\c my_database
Die Eingabeaufforderung ändert sich und zeigt die aktive Datenbank an, so dass Sie Tabellen verwalten, Daten einfügen und Abfragen durchführen können.
5. Erstellen und Verwalten von Tabellen
Tabellen speichern Daten in einem strukturierten Format. Hier erfahren Sie, wie Sie Tabellen in PostgreSQL erstellen, ändern und löschen können.
Erstellen einer Tabelle
Verwenden Sie den Befehl CREATE TABLE, um eine neue Tabelle und ihre Spalten zu definieren:
CREATE TABLE table_name ( column1 data_type PRIMARY KEY, column2 data_type, column3 data_type );
Beispiel:
CREATE TABLE employees ( employee_id SERIAL PRIMARY KEY, name VARCHAR(100), department VARCHAR(50), salary NUMERIC );
Daten in eine Tabelle einfügen
Fügen Sie Datensätze mit der INSERT INTO-Anweisung ein:
Daten abfragen
Abrufen von Daten aus einer Tabelle mit SELECT:
SELECT * FROM Mitarbeiter;
Daten aktualisieren
So aktualisieren Sie Datensätze in einer Tabelle:
UPDATE employees SET salary = 55000 WHERE name = 'John Doe';
Daten löschen
Um bestimmte Zeilen zu löschen:
DELETE FROM mitarbeiter WHERE name = 'John Doe';
6. Verwaltung von Datenbankzugriff und Sicherheit
Gewähren Sie den Benutzern aus Sicherheitsgründen nur die erforderlichen Berechtigungen:
- Entziehen Sie den Zugriff:
REVOKE ALL PRIVILEGES ON DATABASE my_database FROM dbuser;
- Tabellenberechtigungen einschränken:
GRANT SELECT ON TABLE employees TO dbuser;
Dadurch kann dbuser nur die Daten der Tabelle employees einsehen, ohne Änderungen vorzunehmen.
7. Sichern und Wiederherstellen von Datenbanken
PostgreSQL bietet Befehle für die Sicherung und Wiederherstellung von Datenbanken.
Sichern einer Datenbank
Verwenden Sie den Befehl pg_dump, um eine Datenbank in eine Datei zu sichern:
pg_dump meine_Datenbank > meine_Datenbank_backup.sql
Wiederherstellen einer Datenbank
Verwenden Sie den Befehl psql, um eine Datenbank aus einer Sicherungsdatei wiederherzustellen:
psql my_database < my_database_backup.sql
8. Löschen von Datenbanken und Tabellen
Wenn eine Datenbank oder Tabelle nicht mehr benötigt wird, verwenden Sie den Befehl DROP, um sie zu löschen.
Eine Tabelle löschen
DROP TABLE tabelle_name;
Beispiel:
DROP TABLE angestellte;
Eine Datenbank löschen
Beenden Sie zuerst die Datenbank (falls sie verbunden ist) und löschen Sie sie dann:
DROP DATABASE datenbank_name;
Beispiel:
DROP DATABASE my_database;
9. Beenden von PostgreSQL
Um die PostgreSQL-Befehlszeilenschnittstelle zu beenden, verwenden Sie:
\q
Schlussfolgerung
Die Verwaltung von Datenbanken in PostgreSQL umfasst das Erstellen und Konfigurieren von Datenbanken, das Einrichten von Tabellen, die Verwaltung von Benutzern und die Durchführung von Backups. Wenn Sie diese Befehle beherrschen, können Sie PostgreSQL-Datenbanken effizient verwalten und die Integrität und Sicherheit der Daten gewährleisten.