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

So installieren und konfigurieren Sie Postgres 14 unter Debian 11

Postgresql ist ein objektrelationales Open-Source-Datenbanksystem mit über 30 Jahren aktiver Entwicklung, das ihm einen guten Ruf für Zuverlässigkeit, Funktionsrobustheit und Leistung eingebracht hat. Postgres ist ein kostenloses und quelloffenes Verwaltungssystem für relationale Datenbanken, das auf Erweiterbarkeit und SQL-Konformität Wert legt. Es hieß ursprünglich POSTGRES und bezog sich auf seinen Ursprung als Nachfolger der Ingres-Datenbank, die an der University of California, Berkeley, entwickelt wurde. PostgreSQL wird als primärer Datenspeicher oder Data Warehouse für viele Web-, Mobil-, Geodaten- und Analyseanwendungen verwendet. PostgreSQL kann strukturierte und unstrukturierte Daten in einem einzigen Produkt speichern.

Prüfen Sie auch diese:

  • Verwenden von Ansible zum Installieren und Konfigurieren von Postgres 14 unter Debian 11
  • So installieren und konfigurieren Sie Postgres 14 unter FreeBSD 13
  • Postgres-Berechtigungen – Datenbankbenutzer erstellen, aktualisieren, löschen
  • So installieren und konfigurieren Sie Postgres 13 auf Centos 8
  • Postgresql 14 mit Docker und Docker-Compose ausführen
  • So installieren und konfigurieren Sie Postgres 13 Ubuntu 20.04
  • So installieren und konfigurieren Sie Postgres 14 auf Centos 8
  • So installieren und konfigurieren Sie Postgres 14 Ubuntu 20.04
  • So installieren und konfigurieren Sie Postgres 14 auf Fedora 34
  • So installieren und konfigurieren Sie Postgres 14 auf OpenSUSE Leap 15.3

Voraussetzungen

Um mitzumachen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  1. Debian 11-Server
  2. Root-Zugriff auf den Server oder Benutzer mit Root-Zugriff
  3. Internetzugang vom Server
  4. Grundkenntnisse des Linux-Terminals

Inhaltsverzeichnis

  1. Stellen Sie sicher, dass der Server auf dem neuesten Stand ist
  2. Postgres-Server installieren und starten
  3. Authentifizierungsmethoden für PostgreSQL-Rollen und -Datenbanken
  4. Verbindung zur Postgres-Datenbank herstellen
  5. Postgres 14-Instanz für Fernzugriff konfigurieren
  6. Benutzerverwaltung

1. Stellen Sie sicher, dass Ihre Systempakete auf dem neuesten Stand sind

Lassen Sie uns den lokalen Paketindex Ihres Servers mit diesem Befehl aktualisieren:

sudo apt update

Dann aktualisieren wir die Pakete in unserem System damit:

sudo apt -y upgrade

Lassen Sie uns auch die notwendigen Dienstprogrammpakete installieren, die wir verwenden werden

sudo apt -y install gnupg2 wget

2. Installation von Postgres 14

Postgres wird in den standardmäßigen Debian-Repositories bereitgestellt. Verwenden Sie diesen Befehl, um die bereitgestellte Version zu überprüfen:

sudo apt-cache search postgresql | grep postgresql

Die von den Standard-Repositories bereitgestellten Standardpakete sind postgres 12. Wenn Sie an Postgres 12 interessiert sind, können Sie es mit den folgenden Befehlen installieren. Der -contrib Paket, das einige zusätzliche Dienstprogramme und Funktionen hinzufügt:

sudo apt install postgresql postgresql-contrib

Da wir Postgres 14 installieren möchten, müssen wir ein zusätzliches Repository hinzufügen, das die Pakete bereitstellt. Erstellen Sie die Datei-Repository-Konfiguration

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Importieren Sie dann den Repository-Signaturschlüssel:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Lassen Sie uns nun die Paketlisten für die neuen Repos aktualisieren, um Folgendes widerzuspiegeln:

sudo apt -y update

Dann endlich installieren wir die neuste Version von Postgres:

sudo apt -y install postgresql

Nach erfolgreicher Installation wird Postgres 14 gestartet.

Verwenden Sie diesen Befehl, um den Dienststatus zu überprüfen:

$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2021-10-18 04:33:26 UTC; 33s ago
    Process: 4788 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 4788 (code=exited, status=0/SUCCESS)
        CPU: 877us

Oct 18 04:33:26 ip-10-2-40-246 systemd[1]: Starting PostgreSQL RDBMS...
Oct 18 04:33:26 ip-10-2-40-246 systemd[1]: Finished PostgreSQL RDBMS.

Als Nächstes überprüfen wir die Installation, indem wir eine Verbindung zum PostgreSQL-Datenbankserver herstellen und seine Version überprüfen. Verwenden Sie diesen Befehl:

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

Ausgabe

$ sudo -u postgres psql -c "SELECT version();"
                                                           version
-----------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 14.0 (Debian 14.0-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
(1 row)

3. Authentifizierungsmethoden für PostgreSQL-Rollen und -Datenbanken

PostgreSQL verwendet ein Konzept namens roles um die Client-Authentifizierung und -Autorisierung zu handhaben. Standardmäßig ist Postgres für die Verwendung der ident authentication eingerichtet , was bedeutet, dass es Postgres-Rollen mit einem übereinstimmenden Unix/Linux-Systemkonto verknüpft. Wenn eine Rolle in Postgres existiert, kann sich ein Unix/Linux-Benutzername mit demselben Namen als diese Rolle anmelden.

Beim Installationsvorgang wurde ein Benutzerkonto namens postgres  erstellt das mit dem standardmäßigen postgres verknüpft ist Rolle. Um PostgreSQL zu verwenden, können Sie sich bei diesem Konto anmelden.

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

  • Trust – Eine Rolle kann sich ohne Passwort verbinden, solange die in der pg_hba.conf definierten Bedingungen erfüllt sind erfüllt sind.
  • Password – Eine Rolle kann sich verbinden, indem sie ein Passwort angibt. Die Passwörter können als scram-sha-256 gespeichert werden , md5 , und Password (clear-text ).
  • Ident – Wird nur bei 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 auf lokalen Verbindungen unterstützt.

4. Verbindung zur Postgres-Datenbank herstellen

  1. Durch Wechsel zu postres Benutzer

Wechseln Sie zum postgres-Konto auf Ihrem Server, indem Sie Folgendes in das Terminal eingeben;:

sudo -i -u postgres

Sie können jetzt sofort auf eine Postgres-Eingabeaufforderung zugreifen, indem Sie Folgendes eingeben:

$ psql
psql (14.0 (Debian 14.0-1.pgdg110+1))
Type "help" for help.

postgres=#

Dadurch werden Sie bei der PostgreSQL-Eingabeaufforderung angemeldet, und von hier aus können Sie sofort mit dem Datenbankverwaltungssystem interagieren.

2. Durch Ausführen des Befehls als postgres Benutzer

Verwenden Sie dies, um den Befehl direkt als postgres auszuführen Benutzer mit sudo

sudo -u postgres psql

Ausgabe:

$ sudo -u postgres psql
psql (14.0 (Debian 14.0-1.pgdg110+1))
Type "help" for help.

postgres=#

5. Postgres 14-Instanz für Fernzugriff konfigurieren

Um dies zu erreichen, werden wir Postgres-Konfigurationsdateien ändern. Wir müssen die Dateien öffnen und die erforderlichen Konfigurationen anpassen. Die Hauptkonfigurationsdatei für Postgresql 14 finden Sie unter diesem Pfad /etc/postgresql/14/main/pg_hba.conf

Ändern wir die Peer-Identifikation in Trust:

sed -i '/^local/s/peer/trust/' /etc/postgresql/14/main/pg_hba.conf

Ändern Sie die Ident-Identifikation in md5, um die Anmeldung mit Passwort zu ermöglichen.

sed -i '/^host/s/ident/md5/' /etc/postgresql/14/main/pg_hba.conf

Fügen Sie einen Block hinzu, um den Zugriff von überall zu ermöglichen:

Fügen Sie diesen Inhalt der Datei /etc/postgresql/14/main/pg_hba.conf hinzu

host    all             all             0.0.0.0/0                md5

Stellen Sie sicher, dass PostgreSQL auf *

lauscht

Fügen Sie diese Zeile hier zur Konfiguration hinzu /etc/postgresql/14/main/postgresql.conf

listen_addresses='*'

Postgresql-Server aktivieren und neu starten, um die Konfigurationen neu zu laden

sudo systemctl restart postgresql
sudo systemctl enable postgresql

6. Benutzerverwaltung

Superuser erstellen

Nachdem alles eingerichtet ist, erstellen wir einen Superuser.
Verbinden Sie sich mit der DB als postres-Rolle:

# sudo -u postgres psql
psql (14.0 (Debian 14.0-1.pgdg110+1))
Type "help" for help.

postgres=#

Erstellen Sie einen Superuser mit dem Namen root :

CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'passwordhere';

Ausgabe:

# CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'passwordhere';
CREATE ROLE
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser, Create role, Create DB                          | {}

postgres=#

Anwendungsbenutzer verwalten

Verwenden Sie dies, um eine Datenbank zu erstellen, erstellen Sie einen Benutzer und gewähren Sie diesem Benutzer alle Zugriffe auf diese Datenbank:

create database app_db_name;
create user app_user with encrypted password 'dbpassword';
grant all privileges on database app_db_name to app_user;

Sehen Sie sich diesen umfassenden Leitfaden zur Benutzer- und Berechtigungsverwaltung in Postgres hier an.

Verbindung zur Instanz vom Remote-Host herstellen

Verwenden Sie diesen Befehl, um vom lokalen Computer aus eine Verbindung zur Postgres-Instanz herzustellen:

psql 'postgres://<username>:<password>@<host>:<port>/<db>?sslmode=disable'

# like
psql 'postgres://root:[email protected]:5432/postgres?sslmode=disable'

Schlussfolgerung

Bis zu diesem Punkt haben wir es geschafft, Postgresql 14 auf einem Debian 11-Server zu installieren, einige grundlegende Konfigurationen vorzunehmen und dann die grundlegende Benutzerverwaltung durchzuführen.


Debian
  1. So installieren und konfigurieren Sie Postgres 13 Ubuntu 20.04

  2. So installieren und konfigurieren Sie Postgres 13 auf Centos 8

  3. So installieren und konfigurieren Sie Docker unter Debian 11

  4. So installieren und konfigurieren Sie Postgres 14 unter Debian 11

  5. So installieren und konfigurieren Sie Postgres 14 auf Fedora 34

So installieren und konfigurieren Sie Redis unter Debian 10 Linux

So installieren und konfigurieren Sie Monit unter Debian 9

So installieren und konfigurieren Sie Tripwire IDS unter Debian 10

So installieren und konfigurieren Sie Git in Debian 11

So installieren Sie PostgreSQL unter Debian 8

Wie installiere und konfiguriere ich Apache unter Debian 11?