Website-Suche

So installieren und verwenden Sie PostgreSQL unter Ubuntu 18.04


PostgreSQL (kurz Postgres) ist ein Open-Source-, leistungsstarkes, fortschrittliches, leistungsstarkes und stabiles Datenbanksystem für relationale Dokumente. Es nutzt und erweitert die SQL-Sprache gepaart mit einer Vielzahl von Funktionen zur sicheren Datenspeicherung und -verwaltung.

Es ist effizient, zuverlässig und skalierbar für die Verarbeitung großer, komplizierter Datenmengen und die Einrichtung fehlertoleranter Umgebungen auf Unternehmensebene, während gleichzeitig eine hohe Datenintegrität gewährleistet wird. Postgres ist außerdem mit Funktionen wie Indizes und APIs hoch erweiterbar, sodass Sie Ihre eigenen Lösungen zur Lösung Ihrer Datenspeicherherausforderungen entwickeln können.

In diesem Artikel erklären wir, wie man PostgreSQL auf einem Ubuntu 18.04-Server installiert (funktioniert auch auf älteren Ubuntu-Versionen) und lernen einige grundlegende Verwendungsmöglichkeiten kennen.

So installieren Sie PostgreSQL unter Ubuntu

Erstellen Sie zunächst eine Datei /etc/apt/sources.list.d/pgdg.list, in der die Repository-Konfiguration gespeichert ist. Importieren Sie dann den Repository-Schlüssel in Ihr System, aktualisieren Sie die Liste Ihrer Systempakete und installieren Sie das Postgres-Paket mit folgenden Befehlen.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 pgadmin4 

Sobald postgres installiert wurde, wird der Datenbankdienst automatisch gestartet und Sie können dies bestätigen, indem Sie den folgenden Befehl eingeben.

sudo systemctl status postgresql.service

So verwenden Sie PostgreSQL-Rollen und -Datenbanken

In Postgres wird die Client-Authentifizierung durch die Konfigurationsdatei /etc/postgresql/10/main/pg_hba.conf gesteuert. Die Standardauthentifizierungsmethode ist „Peer“ für den Datenbankadministrator. Das heißt, er ruft den Betriebssystembenutzernamen des Clients vom Betriebssystem ab und prüft, ob er mit dem angeforderten Datenbankbenutzernamen übereinstimmt, um den Zugriff für lokale Verbindungen zu ermöglichen (wie im folgenden Screenshot gezeigt).

Während des Installationsprozesses wurde ein Systembenutzerkonto mit dem Namen postgres ohne Passwort erstellt. Dies ist auch der Standardbenutzername des Datenbankadministrators.

sudo vim /etc/postgresql/10/main/pg_hba.conf

Darüber hinaus erfolgt unter Postgres die Datenbankzugriffsberechtigungsverwaltung über Rollen. Je nachdem, wie die Rolle eingerichtet ist, kann eine Rolle entweder als Datenbankbenutzer oder als Gruppe von Datenbankbenutzern betrachtet werden.

Die Standardrolle ist ebenfalls postgres. Wichtig ist, dass Datenbankrollen konzeptionell völlig unabhängig von Betriebssystembenutzern sind, in der Praxis jedoch möglicherweise nicht getrennt sind (z. B. wenn es um die Clientauthentifizierung geht).

Wichtig ist, dass Rollen Datenbankobjekte besitzen und anderen Rollen Berechtigungen für diese Objekte zuweisen können, um zu steuern, wer Zugriff auf welche Objekte hat. Darüber hinaus ist es möglich, einer anderen Rolle die Mitgliedschaft in einer Rolle zu gewähren.

Um andere Rollen außer der Standardrolle „Postgres“ so zu konfigurieren, dass sie verschlüsselte Passwörter zum Verwalten der ihnen zugewiesenen Datenbanken verwenden, müssen Sie die Zeile in ändern.

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

So verwenden Sie PostgreSQL unter Ubuntu

Sobald alles eingerichtet ist, können Sie mit dem folgenden Befehl auf das Postgres-Systemkonto zugreifen, wobei das Flag -i sudo anweist, die Shell auszuführen, die im Kennwortdatenbankeintrag des Zielbenutzers angegeben ist eine Login-Shell.

sudo -i -u postgres 
psql		#to launch the postgres shell program  
postgres=#

Um direkt auf die Postgres-Shell zuzugreifen, ohne zuerst auf das Postgres-Benutzerkonto zuzugreifen, führen Sie den folgenden Befehl aus.

sudo -i -u postgres psql

Sie können postgres beenden/beenden, indem Sie den folgenden Befehl eingeben.

postgres=# \q

Erstellen Sie PostgreSQL-Datenbankrollen

Erstellen Sie mit dem folgenden Befehl eine neue Benutzerrolle.

postgres=# CREATE ROLE tecmint;

Um eine Rolle mit einem LOGIN-Attribut zu erstellen, verwenden Sie den folgenden Befehl (Rollen mit dem LOGIN-Attribut können als dasselbe wie Datenbankbenutzer betrachtet werden).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

Eine Rolle kann auch mit einem Passwort erstellt werden. Dies ist nützlich, wenn Sie die Client-Authentifizierungsmethode so konfiguriert haben, dass Benutzer beim Herstellen einer Verbindung zur Datenbank ein verschlüsseltes Passwort angeben müssen.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Vorhandene PostgreSQL-Datenbankrollen auflisten

Um die vorhandenen Benutzerrollen aufzulisten, verwenden Sie einen dieser Befehle.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Löschen Sie eine PostgreSQL-Datenbankrolle

Um eine vorhandene Benutzerrolle zu löschen, verwenden Sie wie gezeigt den Befehl DROP ROLE.

postgres=# DROP ROLE tecmint;

Erstellen Sie eine PostgreSQL-Datenbank

Sobald Sie eine Rolle mit einem bestimmten Namen erstellt haben (z. B. tecmint-Benutzer), können Sie eine Datenbank (mit demselben Namen wie die Rolle) erstellen, die wie gezeigt von dieser Rolle verwaltet wird.

postgres=# CREATE DATABASE tecmint;

Um nun die Datenbank tecmint zu verwalten, greifen Sie mit der Rolle tecmint auf die postgres-Shell zu und geben Sie Ihr Passwort wie folgt ein.

sudo -i -u tecmint psql

Erstellen Sie eine PostgreSQL-Tabelle

Das Erstellen von Tabellen ist so einfach, dass wir eine Testtabelle mit dem Namen Autoren erstellen, die wie gezeigt Informationen über TecMint.com-Autoren speichert.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

Versuchen Sie nach dem Erstellen einer Tabelle, sie wie folgt mit einigen Daten zu füllen.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

Um die in einer Tabelle gespeicherten Daten anzuzeigen, können Sie einen SELECT-Befehl ausführen.

tecmint=> SELECT * FROM authors;

PostgreSQL-Datenbanktabellen auflisten

Mit dem folgenden Befehl können Sie alle Tabellen in der aktuellen Datenbank auflisten.

tecmint=>\dt

Löschen/Löschen einer PostgreSQL-Tabelle

Um eine Tabelle in der aktuellen Datenbank zu löschen, verwenden Sie den Befehl DROP.

tecmint=> DROP TABLE authors;

Alle PostgreSQL-Datenbanken auflisten

Um alle Datenbanken aufzulisten, verwenden Sie einen der folgenden Befehle.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Löschen/Löschen einer PostgreSQL-Datenbank

Wenn Sie eine Datenbank löschen möchten, verwenden Sie beispielsweise den Befehl DROP.

tecmint=>DROP DATABASE tecmint;

Wechseln Sie zu einer anderen PostgreSQL-Datenbank

Mit dem folgenden Befehl können Sie auch problemlos von einer Datenbank zur anderen wechseln.

tecmint=>\connect database_name

Weitere Informationen finden Sie in der PostgreSQL 10.4-Dokumentation.

Das war es fürs Erste! In diesem Artikel haben wir erklärt, wie Sie das PostgreSQL-Datenbankverwaltungssystem unter Ubuntu 18.04 installieren und verwenden. Sie können uns Ihre Fragen oder Gedanken in den Kommentaren senden.