GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie PostgreSQL unter Debian 10

PostgreSQL, oft einfach als Postgres bekannt, ist ein universelles objektrelationales Open-Source-Datenbankverwaltungssystem. Es verfügt über viele leistungsstarke Funktionen wie Online-Backups, Point-in-Time-Recovery, verschachtelte Transaktionen, SQL- und JSON-Abfragen, Multiversion Concurrency Control (MVCC), asynchrone Replikation und mehr.

Dieses Tutorial führt Sie durch die Schritte zur Installation des PostgreSQL-Datenbankservers auf Debian 10. Wir werden auch die Grundlagen der grundlegenden Datenbankverwaltung untersuchen.

PostgreSQL wird installiert #

Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version von PostgreSQL, die in den standardmäßigen Debian-Repositories 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-Berechtigungen aus:

  1. Beginnen Sie mit der Aktualisierung des APT-Paketindex:

    sudo apt update
  2. Installieren Sie den PostgreSQL-Server und das Contrib-Paket, das zusätzliche Funktionen für die PostgreSQL-Datenbank bereitstellt:

    sudo apt install postgresql postgresql-contrib
  3. Sobald die Installation abgeschlossen ist, wird der PostgreSQL-Dienst gestartet. Um die Installation zu überprüfen, verwenden Sie psql Tool zum Drucken der Serverversion:

    sudo -u postgres psql -c "SELECT version();"

    Die Ausgabe sollte in etwa 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 unter Verwendung des Konzepts von Rollen. Je nachdem, wie Sie die Rolle einrichten, kann sie einen Datenbankbenutzer oder eine Gruppe von Datenbankbenutzern repräsentieren.

PostgreSQL unterstützt mehrere Authentifizierungsmethoden. Die am häufigsten verwendeten Methoden sind:

  • Vertrauen - Eine Rolle kann sich ohne Passwort verbinden, solange die in der pg_hba.conf definierten Kriterien erfüllt sind erfüllt sind.
  • Passwort – Eine Rolle kann eine Verbindung herstellen, indem sie ein Passwort bereitstellt. Die Passwörter können als scram-sha-256 gespeichert werden md5 und password (Klartext)
  • Ident - Wird nur für TCP/IP-Verbindungen unterstützt. Es funktioniert, indem es den Benutzernamen des Betriebssystems des Clients erhält, mit einer optionalen Benutzernamenzuordnung.
  • Peer - Dasselbe wie Ident, wird aber nur bei lokalen Verbindungen unterstützt.

Die PostgreSQL-Clientauthentifizierung wird in der Konfigurationsdatei mit dem Namen pg_hba.conf definiert . Für lokale Verbindungen ist PostgreSQL so eingestellt, dass es die Peer-Authentifizierungsmethode verwendet.

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 als „postgres“ beim PostgreSQL-Server anzumelden, wechseln Sie zum Benutzerpostgres und greifen mit psql auf eine PostgreSQL-Eingabeaufforderung zu Dienstprogramm:

sudo su - postgrespsql

Von hier aus können Sie mit dem PostgreSQL-Server interagieren. Um die PostgreSQL-Shell zu verlassen, geben Sie Folgendes ein:

\q

Sie können das sudo verwenden Befehl, um auf die PostgreSQL-Eingabeaufforderung zuzugreifen, ohne den Benutzer zu wechseln:

sudo -u postgres psql

Das postgres user wird normalerweise nur vom localhost verwendet.

PostgreSQL-Rolle und -Datenbank erstellen #

Der createuser Mit dem Befehl können Sie neue Rollen über die Befehlszeile erstellen. Nur Superuser und Rollen mit CREATEROLE Berechtigung kann neue Rollen erstellen.

Im folgenden Beispiel erstellen wir eine neue Rolle namens kylo , eine Datenbank namens kylodb und gewähren Sie der Rolle Berechtigungen für die Datenbank.

  1. Erstellen Sie zuerst die Rolle, indem Sie den folgenden Befehl ausgeben:

    sudo su - postgres -c "createuser kylo"
  2. Als nächstes erstellen Sie die Datenbank mit createdb Befehl:

    sudo su - postgres -c "createdb kylodb"
  3. Um dem Benutzer Berechtigungen für die Datenbank zu erteilen, stellen Sie eine Verbindung zur PostgreSQL-Shell her:

    sudo -u postgres psql

    Führen Sie die folgende Abfrage aus:

    GRANT ALL PRIVILEGES ON DATABASE kylodb TO kylo;

Aktivieren Sie den Fernzugriff auf den PostgreSQL-Server #

Standardmäßig lauscht der PostgreSQL-Server nur auf der lokalen Schnittstelle 127.0.0.1 .

Wenn Sie von Remote-Standorten aus eine Verbindung zum PostgreSQL-Server herstellen möchten, müssen Sie den Server so einstellen, dass er die öffentliche Schnittstelle überwacht, und die Konfiguration so bearbeiten, dass Remote-Verbindungen akzeptiert werden.

Öffnen Sie die Konfigurationsdatei postgresql.conf und fügen Sie listen_addresses = '*' hinzu in CONNECTIONS AND AUTHENTICATION Sektion. Dies weist den Server an, auf allen Netzwerkschnittstellen zu lauschen.

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

Bestätigen Sie die Änderungen mit ss Dienstprogramm:

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 auf allen Schnittstellen (0.0.0.0) lauscht.

Der letzte Schritt besteht darin, den Server so zu konfigurieren, dass er Remote-Anmeldungen akzeptiert, indem Sie die pg_hba.conf bearbeiten Datei.

Unten sind einige Beispiele, die verschiedene Anwendungsfälle zeigen:

/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

Debian
  1. So installieren Sie R unter Debian 9

  2. So installieren Sie PostgreSQL unter Debian 9

  3. So installieren Sie PostgreSQL 11/10 auf Debian 9 und Debian 8

  4. So installieren Sie PostgreSQL unter Debian 11 / Debian 10

  5. So installieren Sie phpPgAdmin unter Debian 9

So installieren Sie PostgreSQL unter Debian 8

So installieren Sie WordPress unter Debian 8

So installieren Sie MariaDB unter Debian 8

So installieren Sie PostgreSQL unter Debian 10 Buster

So installieren Sie PostgreSQL unter Debian 11

So installieren Sie Zabbix unter Debian 11