How to Set up Virtual Box and Vagrant on Windows
Inhaltsverzeichnis:
- 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. Es verfügt über zahlreiche leistungsstarke Funktionen wie Online-Backups, Wiederherstellung zu bestimmten Zeitpunkten, verschachtelte Transaktionen, SQL- und JSON-Abfragen, MVCC (Multi-Version Concurrency Control), asynchrone Replikation und vieles mehr.
Dieses Tutorial führt Sie durch die Schritte zur Installation des PostgreSQL-Datenbankservers unter Debian 10. Wir werden auch die Grundlagen der grundlegenden Datenbankverwaltung untersuchen.
PostgreSQL installieren
Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste Version von PostgreSQL, die in den Standard-Debian-Repositorys verfügbar ist, PostgreSQL Version 11.5.
Um PostgreSQL auf Ihrem Debian-Server zu installieren, führen Sie die folgenden Schritte als root oder Benutzer mit sudo-Rechten aus:
-
Aktualisieren Sie zunächst den APT-Paketindex:
sudo apt update
Installieren Sie den PostgreSQL-Server und das 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 gestartet. Verwenden Sie zum Überprüfen der Installation das
psql
Tool, um die Serverversion zu drucken:sudo -u postgres psql -c "SELECT version();"
Die Ausgabe sollte ungefähr so aussehen:
PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
psql
ist ein interaktives Terminalprogramm, mit dem Sie mit dem PostgreSQL-Server interagieren können.
PostgreSQL-Rollen und Authentifizierungsmethoden
PostgreSQL handhabt Datenbankzugriffsberechtigungen nach dem Konzept der Rollen. Je nachdem, wie Sie die Rolle eingerichtet haben, kann sie einen Datenbankbenutzer oder eine Gruppe von Datenbankbenutzern darstellen.
PostgreSQL unterstützt verschiedene Authentifizierungsmethoden. Die am häufigsten verwendeten Methoden sind:
- Vertrauen - Eine Rolle kann eine Verbindung ohne Kennwort herstellen, solange 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
undpassword
(Klartext) Ident gespeichert werden - Nur für TCP / IP-Verbindungen unterstützt. Es funktioniert, indem der Benutzername des Client-Betriebssystems mit einer optionalen Benutzernamenszuordnung abgerufen wird. 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
. Für lokale Verbindungen ist PostgreSQL so eingestellt, dass die Peer-Authentifizierungsmethode verwendet wird.
Der Benutzer "postgres" wird automatisch erstellt, wenn PostgreSQL installiert wird. Dieser Benutzer ist der Superuser für die PostgreSQL-Instanz und entspricht dem MySQL-Root-Benutzer.
Um sich beim PostgreSQL-Server als "postgres" anzumelden, wechseln Sie zum Benutzer postgres und greifen mit dem Dienstprogramm
psql
auf eine PostgreSQL-Eingabeaufforderung zu:
sudo su - postgres
psql
Von hier aus können Sie mit dem PostgreSQL-Server 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 localhost verwendet.
Erstellen von PostgreSQL-Rollen und -Datenbanken
Mit
createuser
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
kylo
, eine Datenbank mit dem Namen
kylodb
und erteilen der Rolle Berechtigungen für die Datenbank.
-
Erstellen Sie zunächst die Rolle, indem Sie den folgenden Befehl eingeben:
sudo su - postgres -c "createuser kylo"
Als Nächstes erstellen Sie die Datenbank mit dem Befehl
createdb
:sudo su - postgres -c "createdb kylodb"
Stellen Sie eine Verbindung zur PostgreSQL-Shell her, um dem Benutzer Berechtigungen für die Datenbank zu erteilen:
sudo -u postgres psql
Führen Sie die folgende Abfrage aus:
grant all privileges on database kylodb to kylo;
Aktivieren Sie den Remotezugriff auf den PostgreSQL-Server
Standardmäßig überwacht der PostgreSQL-Server nur die lokale Schnittstelle
127.0.0.1
.
Öffnen Sie die Konfigurationsdatei
postgresql.conf
und fügen Sie
listen_addresses = '*'
im Abschnitt
CONNECTIONS AND AUTHENTICATION
. Dadurch wird der Server angewiesen, alle Netzwerkschnittstellen abzuhören.
sudo nano /etc/postgresql/11/main/postgresql.conf
/etc/postgresql/11/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, damit die Änderungen wirksam werden:
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:*
Die Ausgabe sollte zeigen, dass der PostgreSQL-Server alle Schnittstellen überwacht (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/11/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an 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 an 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
Wir haben Ihnen gezeigt, wie Sie PostgreSQL unter Debian 10 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 9?
PostgreSQL, oft einfach als Postgres bezeichnet, ist ein allgemeines objektrelationales Open-Source-Datenbankverwaltungssystem. In diesem Tutorial zeigen wir Ihnen, wie Sie PostgreSQL unter Debian 9 installieren und die Grundlagen der grundlegenden Datenbankverwaltung erkunden.