How to Install Debian 9 on VirtualBox
Inhaltsverzeichnis:
- Voraussetzungen
- PostgreSQL installieren
- PostgreSQL-Rollen und Authentifizierungsmethoden
- Erstellen von PostgreSQL-Rollen und -Datenbanken
- Aktivieren Sie den Remotezugriff auf den PostgreSQL-Server
- Fazit
PostgreSQL, oft einfach als Postgres bezeichnet, ist ein allgemeines objektrelationales Open-Source-Datenbankverwaltungssystem. PostgreSQL bietet viele erweiterte Funktionen wie Online-Backups, Wiederherstellung zu bestimmten Zeitpunkten, verschachtelte Transaktionen, SQL- und JSON-Abfragen, MVCC (Multi-Version Concurrency Control), asynchrone Replikation und mehr.
In diesem Tutorial zeigen wir Ihnen, wie Sie PostgreSQL unter Debian 9 installieren und die Grundlagen der grundlegenden Datenbankverwaltung erkunden.
Voraussetzungen
Bevor Sie mit diesem Lernprogramm fortfahren, stellen Sie sicher, dass der Benutzer, unter dem Sie angemeldet sind, über Sudo-Berechtigungen verfügt.
PostgreSQL installieren
Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste Version von PostgreSQL, die im Debian-Repository verfügbar ist, PostgreSQL Version 9.6.
Führen Sie die folgenden Schritte aus, um PostgreSQL auf Ihrem Debian-Server zu installieren:
-
Beginnen Sie mit der Aktualisierung des lokalen Paketindex:
sudo apt update
Installieren Sie den PostgreSQL-Server und das PostgreSQL-Contrib-Paket, die zusätzliche Funktionen für die PostgreSQL-Datenbank bereitstellen:
sudo apt install postgresql postgresql-contrib
Nach Abschluss der Installation wird der PostgreSQL-Dienst automatisch gestartet. Um die Installation zu überprüfen, stellen wir mit dem Dienstprogramm
psql
Verbindung zum PostgreSQL-Datenbankserver her und drucken die Serverversion aus:sudo -u postgres psql -c "SELECT version();"
Die Ausgabe sieht folgendermaßen aus:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
PostgreSQL-Rollen und Authentifizierungsmethoden
PostgreSQL handhabt Datenbankzugriffsberechtigungen nach dem Konzept der Rollen. Eine Rolle kann einen Datenbankbenutzer oder eine Gruppe von Datenbankbenutzern darstellen.
PostgreSQL unterstützt eine Reihe von Authentifizierungsmethoden. Die am häufigsten verwendeten Methoden sind:
- Vertrauen - Bei dieser Methode kann die Rolle eine Verbindung ohne Kennwort herstellen, sofern die in der
pg_hba.conf
pg_hba.conf definierten Kriterienpg_hba.conf
sind. Kennwort - Eine Rolle kann eine Verbindung herstellen, indem ein Kennwort angegeben wird. Die Passwörter können alsscram-sha-256
md5
und alspassword
(Klartext) Ident gespeichert werden. - Diese Methode wird nur für TCP / IP-Verbindungen unterstützt. Ermittelt den Benutzernamen des Client-Betriebssystems mit einer optionalen Benutzernamenszuordnung. Peer - Entspricht Ident, wird jedoch nur bei lokalen Verbindungen unterstützt.
Die PostgreSQL-
pg_hba.conf
wird in der Konfigurationsdatei mit dem Namen
pg_hba.conf
. Standardmäßig verwendet PostgreSQL für lokale Verbindungen die Peer-Authentifizierungsmethode.
Der
postgres
Benutzer wird automatisch erstellt, wenn Sie PostgreSQL installieren. Dieser Benutzer ist der Superuser für die PostgreSQL-Instanz und entspricht dem MySQL-Root-Benutzer.
Um sich als postgres-Benutzer beim PostgreSQL-Server anzumelden, müssen Sie zuerst zum Benutzer postgres wechseln und dann mit dem Dienstprogramm
psql
auf eine PostgreSQL-Eingabeaufforderung zugreifen:
sudo su - postgres
psql
Von hier aus können Sie mit Ihrer PostgreSQL-Instanz interagieren. So beenden Sie den PostgreSQL-Shell-Typ:
\q
Mit dem Befehl
sudo
können Sie auf die PostgreSQL-Eingabeaufforderung zugreifen, ohne die Benutzer zu wechseln:
sudo -u postgres psql
Der Benutzer
postgres
wird normalerweise nur vom lokalen Host verwendet, und es wird empfohlen, das Kennwort für diesen Benutzer nicht
postgres
.
Erstellen von PostgreSQL-Rollen und -Datenbanken
Mit dem Befehl
createuser
können Sie über die Befehlszeile neue Rollen erstellen. Nur Superuser und Rollen mit
CREATEROLE
Berechtigungen können neue Rollen erstellen.
Im folgenden Beispiel erstellen wir eine neue Rolle mit dem Namen
john
eine Datenbank mit dem Namen
johndb
und erteilen Berechtigungen für die Datenbank.
-
Erstellen Sie eine neue PostgreSQL-Rolle
Der folgende Befehl erstellt eine neue Rolle mit dem Namen john:
sudo su - postgres -c "createuser john"
Erstellen Sie eine neue PostgreSQL-Datenbank
Erstellen Sie mit dem Befehl
createdb
eine neue Datenbank mit dem Namen johndb:sudo su - postgres -c "createdb johndb"
Berechtigungen gewähren
john
Verbindung zur PostgreSQL-Shell her, um dem Benutzerjohn
Berechtigungen für die im vorherigen Schritt erstellte Datenbank zu erteilen:sudo -u postgres psql
und führen Sie die folgende Abfrage aus:
grant all privileges on database johndb to john;
Aktivieren Sie den Remotezugriff auf den PostgreSQL-Server
Standardmäßig lauscht der PostgreSQL-Server nur auf der lokalen Schnittstelle
127.0.0.1
. Um den Fernzugriff auf Ihren PostgreSQL-Server zu aktivieren, öffnen Sie die Konfigurationsdatei
postgresql.conf
und fügen Sie
listen_addresses = '*'
im Abschnitt
CONNECTIONS AND AUTHENTICATION
.
sudo vim /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/main/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Speichern Sie die Datei und starten Sie den PostgreSQL-Dienst neu mit:
sudo service postgresql restart
Überprüfen Sie die Änderungen mit dem Dienstprogramm
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
Wie Sie der obigen Ausgabe entnehmen können, überwacht der PostgreSQL-Server alle Schnittstellen (0.0.0.0).
Im letzten Schritt konfigurieren Sie den Server so, dass er
pg_hba.conf
akzeptiert, indem Sie die Datei
pg_hba.conf
.
Nachfolgend einige Beispiele für verschiedene Anwendungsfälle:
/etc/postgresql/9.6/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Fazit
Sie haben gelernt, wie Sie PostgreSQL auf Ihrem Debian 9-Server installieren und konfigurieren. Weitere Informationen zu diesem Thema finden Sie in der PostgreSQL-Dokumentation.
debian postgresql datenbankWie installiert und konfiguriert man Redis unter Debian 10 Linux?
In diesem Tutorial werden wir uns mit der Installation und Konfiguration von Redis auf einem Debian 10-Buster befassen. Redis ist ein Open-Source-Speicher für Schlüsselwerte.
Wie installiert und konfiguriert man Redis unter Debian 9?
Redis ist ein Open-Source-Speicher für Schlüsselwerte. Es kann als Datenbank-, Cache- und Nachrichtenbroker verwendet werden und unterstützt verschiedene Datenstrukturen wie Strings, Hashes, Listen, Sets usw. Dieses Tutorial erklärt, wie man Redis auf einem Debian 9-Server installiert und konfiguriert.
Wie installiert man postgresql unter Debian 10?
Dieses Tutorial führt Sie durch die Schritte zur Installation des PostgreSQL-Datenbankservers unter Debian 10. PostgreSQL, oft einfach als Postgres bezeichnet, ist ein allgemeines objektrelationales Open-Source-Datenbankverwaltungssystem.