PostgreSQL ist ein RDBMS (Relational Database Management System), das zum Speichern und Abrufen von Daten unter Verwendung der Standardabfragesprache SQL verwendet wird. Es ist auch als Postgres bekannt, das kostenlos mit einer Open-Source-Lizenz bereitgestellt wird. PostgreSQL unterstützt JSON, XML und materialisierte Ansichten, wo andere Datenbankverwaltungssoftware dies nicht tut.
In diesem Tutorial lernen wir, wie man PostgreSQL installiert auf Ubuntu 20.04 .
Verwandter Artikel:So installieren Sie PhpPgAdmin unter Ubuntu 20.04
Voraussetzungen
Vor der Installation von Postgres in Ubuntu müssen wir einige grundlegende Anforderungen erfüllen.
- Ubuntu 20.04 installiert
- Sudo-Berechtigungen, um Pakete zu installieren.
- Richtige Internetverbindung.
Installieren PostgreSQL auf Ubuntu
PostgreSQL ist standardmäßig in den Ubuntu-Repositories verfügbar . Verwenden Sie einfach den Befehl apt, um PostgreSQL zu installieren. Die am häufigsten installierten Pakete sind PostgreSQL-Server, -Client, pgadmin, Bibliotheken und Header.
Um eine bestimmte Version zu installieren, können Sie das PostgreSQL Apt-Repository verwenden.
Um mit der Installation fortzufahren, befolgen Sie die nachstehenden Verfahren.
Stellen Sie zunächst sicher, dass Ihr System auf dem neuesten Stand ist, indem Sie den folgenden Befehl ausführen.
$ sudo apt update
Postgres-Paket installieren gefolgt von -contrib Paket, das zusätzliche Dienstprogramme und Funktionen hinzufügt.
$ sudo apt install postgresql postgresql-contrib
Starten Sie nach der vollständigen Installation von PostgreSQL den PostgreSQL-Dienst.
$ sudo systemctl start postgresql.service
Aktivieren Sie außerdem den PostgreSQL-Dienst so, dass er beim Systemstart automatisch gestartet wird.
$ sudo systemctl enable postgresql.service
Nach der Installation können Sie den PostgreSQL-Status überprüfen, indem Sie den folgenden Befehl ausführen.
$ sudo systemctl status postgresql.service
Standardmäßig wird während der Installation ein Postgres-Benutzer erstellt. Um auf die Postgres-Shell zuzugreifen, wechseln Sie zuerst zum Postgres-Benutzer.
$ sudo su - postgres
Geben Sie nun den psql-Befehl ein,
$ psql
Führen Sie den folgenden Befehl aus, um die PostgreSQL-Version zu überprüfen:
psql --version
oder
psql -V
Rolle in PostgreSQL erstellen
Für die Autorisierung und Authentifizierung verwendet Postgres das Konzept „Rollen“, das in gewisser Weise Konten im Unix-Stil ähnelt. Während der Installation wird Postgres so eingerichtet, dass eine Ident-Authentifizierung verwendet wird. Die Ident-Authentifizierung ordnet die Postgres-Rolle übereinstimmenden Linux/Unix-Systemkonten zu. Nur Superuser und Rollen mit „CREATEROLE“-Berechtigung sind dafür verantwortlich, neue Rollen zu erstellen.
Um eine neue Rolle zu erstellen Namens john, geben Sie den folgenden Befehl in der PostgreSQL-Shell ein.
postgres=# createuser john
Datenbank in PostgreSQL erstellen
Neue Datenbank erstellen erfordert ein PostgreSQL-Datenbank-Shell-Programm (psql). Melden Sie sich bei Ihrer psql-Shell an und geben Sie den folgenden Befehl ein, um einen Benutzer zu erstellen und ein Passwort zuzuweisen. Hier erstelle ich den Benutzernamen jacky mit dem Passwort mystrongpassword. Sie können Ihre eigenen erstellen.
postgres=# CREATE USER jacky WITH PASSWORD 'mystrongpassword';
Erstellen Sie eine Datenbank (z. B. Galerie) mit dem folgenden Befehl,
postgres=# CREATE DATABASE gallery;
Gewähren Sie Berechtigungen mithilfe der gerade erstellten Datenbank. Hier werde ich alle Privilegien für die Datenbankgalerie bereitstellen, um jacky zu verwenden.
postgres=# GRANT ALL PRIVILEGES ON DATABASE gallery to jacky;
Um schließlich die PostgreSQL-Shell zu verlassen, geben Sie \q ein und drücken Sie die Eingabetaste.
postgres=# \q
Aktivieren des Fernzugriffs in PostgreSQL
PostgreSQL lauscht standardmäßig auf der lokalen Loopback-Schnittstelle 127.0.0.1. Wenn Sie auf Datenbanken von anderen Remote-Clients zugreifen möchten, müssen Sie PostgreSQL so konfigurieren, dass es auf den verschiedenen Netzwerkschnittstellen lauscht. Um PostgreSQL für verschiedene Schnittstellen zu konfigurieren, öffnen Sie die Konfigurationsdatei von PostgreSQL mit nano oder anderen Textbearbeitungstools.
$ sudo vi /etc/postgresql/12/main/postgresql.conf
Suchen Sie in dieser Konfigurationsdatei nach listen_addresses im Abschnitt „VERBINDUNGEN UND AUTHENTIFIZIERUNG“. Entkommentieren Sie die Zeile und ändern Sie localhost zu '*'. Dies gibt PostgreSQL die Anweisung, alle Netzwerkschnittstellen auf eingehende Verbindungen zu überwachen.
listen_addresses = '*'
Speichern Sie Ihre Konfiguration und starten Sie PostgreSQL Server neu, damit die Änderungen wirksam werden.
$ sudo systemctl restart postgresql.service
Jetzt sollten Sie sehen können, dass PostgreSQL auf einer anderen Schnittstelle lauscht. Sie können den folgenden Befehl ausführen, um dies zu bestätigen.
$ ss -ltn
Wenn Sie die UFW-Firewall auf dem Server aktiviert haben, müssen Sie Port 5432 öffnen für eingehende TCP-Verbindungen, indem Sie den folgenden Befehl ausführen.
$ sudo ufw allow 5432/tcp
Überprüfen Sie auch die UFW-Firewallregel, indem Sie den folgenden Befehl ausführen.
$ sudo ufw status verbose
Schlussfolgerung
In diesem Tutorial haben wir gelernt, wie man PostgreSQL Server unter Ubuntu 20.04 installiert, einschließlich einiger Erstkonfigurationen. Darüber hinaus haben wir auch gelernt, wie man PostgreSQL an verschiedene Schnittstellen bindet, um Verbindungen von einem Remote-Client zu akzeptieren.