GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie den PostgreSQL-Server auf RHEL 8 / CentOS 8

PostgreSQL ist ein kostenloses objektrelationales Open-Source-Datenbankverwaltungssystem. Das Ziel dieses Tutorials ist es, eine Installation und grundlegende Konfiguration des PostgreSQL-Servers auf einem Linux-Server mit RHEL 8 / CentOS 8 durchzuführen.

In diesem Tutorial lernen Sie:

  • So installieren Sie den PostgreSQL-Datenbankserver auf RHEL 8 / CentOS 8
  • So starten und aktivieren Sie den PostgreSQL-Datenbankserver
  • Zugriff auf die PostgreSQL-Datenbank von einem lokalen Host und einem entfernten Standort
  • So legen Sie das Passwort für das standardmäßige postgres fest Benutzer
  • So aktivieren Sie PostgreSQL, um auf allen Netzwerken zu lauschen
  • So sichern Sie eine PostgreSQL-Remoteverbindung mit MD5-Passwortauthentifizierung
  • So öffnen Sie den PostgreSQL-Firewall-Port
  • Wie man mit psql eine Fernverbindung zum PostgreSQL-Server herstellt Kunde

Initialisieren und Zugreifen auf die PostgreSQL-Datenbank unter Red Hat Enterprise Linux 8

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System RHEL 8 / CentOS 8
Software PostgreSQL-Server 10.5-1.el8
Andere Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Lokale PostgreSQL-Installation und Schritt-für-Schritt-Anleitung für den Datenbankzugriff

  1. Installieren Sie den PostreSQL-Server. Führen Sie den folgenden dnf aus Befehl zum Durchführen einer PostreSQL-Serverpaketinstallation:
    # dnf install postgresql-server
    
  2. PostgreSQL-Datenbank initialisieren:
    # postgresql-setup --initdb --unit postgresql
     * Initializing database in '/var/lib/pgsql/data'
     * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
    
  3. Starten Sie PostgreSQL und aktivieren Sie es optional für den Start nach dem Neustart.
    # systemctl start postgresql
    # systemctl enable postgresql
    

    Zu diesem Zeitpunkt sollte der PostreSQL-Server betriebsbereit sein und den Localhost-Port 5432 überwachen . Verwenden Sie ss Befehl, um zu bestätigen, dass dies der Fall ist:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            127.0.0.1:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::1]:5432             [::]:*
    
  4. Greifen Sie auf die PostreSQL-Datenbank zu. Wenn Sie die PostgreSQL-Datenbank auf Ihrem RHEL 8 / CentOS 8-System installieren, erstellt das Installationsprogramm auch automatisch einen neuen Standardbenutzer postgres .

    Das Standardpasswort für postgres user ist nicht gesetzt, daher ist es leer. Um auf die PostgreSQL-Datenbank zuzugreifen, führen Sie zuerst su aus Befehl als Root-Benutzer, um zum Postres-Benutzer zu wechseln. Geben Sie dann psql ein um sich bei der Datenbank anzumelden.

    HINWEIS
    Jeder Versuch, als Root-Benutzer auf die PostgreSQL-Datenbank zuzugreifen, führt zu psql: FATAL: role "root" does not exist Fehlermeldung.

    Beispiel:

    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=#
    
    HINWEIS
    Um die PostreSQL-Datenbank-Shell zu verlassen, geben Sie \q ein oder drücken Sie CTRL+d Tastenkombination.

PostgreSQL-Datenbank-Fernzugriff und sichere Verbindung

  1. Passwort für postgres festlegen user.Um remote auf den PostreSQL-Server zuzugreifen, legen wir zunächst ein Passwort für postres fest user:
    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=# \password postgres
    Enter new password: 
    Enter it again: 
    postgres=# exit
    postgres-# \q
    
  2. Aktivieren Sie den PostgreSQL-Server, um alle verfügbaren Netzwerke abzuhören. Bearbeiten Sie die Hauptkonfigurationsdatei /var/lib/pgsql/data/postgresql.conf :
    # nano /var/lib/pgsql/data/postgresql.conf
    

    Sobald Sie fertig sind, fügen Sie die folgende Zeile irgendwo zu VERBINDUNGEN UND AUTHENTIFIZIERUNG hinzu Abschnitt:

    listen_addresses = '*'
    
    WARNUNG
    Die obige Konfiguration ermöglicht es PostreSQL, auf allen verfügbaren Netzwerken zu lauschen. Es wird empfohlen, strengere Regeln festzulegen, um den Zugriff auf PostgreSQL nur von ausgewählten Netzwerken zuzulassen.

    Verwenden Sie ss Befehl, um zu bestätigen, dass PostgreSQL auf 0.0.0.0 lauscht Netzwerk:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            0.0.0.0:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::]:5432             [::]:*
    
  3. MD5-verschlüsselte Passwortauthentifizierung aktivieren:
    # echo "host all all 0.0.0.0/0  md5" >> /var/lib/pgsql/data/pg_hba.conf
    
  4. Änderungen der PostgreSQL-Konfiguration anwenden:
    # systemctl restart postgresql
    
  5. Öffnen Sie den Firewall-Port 5432 für einen entfernten eingehenden PostgreSQL-Datenverkehr:
    # firewall-cmd --zone=public --permanent --add-service=postgresql
    # firewall-cmd --reload
    
  6. Stellen Sie von einem entfernten Standort aus eine Verbindung zum PostgreSQL-Datenbankserver her. Installieren Sie zuerst psql PostgreSQL-Client-Tool auf Ihrem Remote-Host:
    RHEL/CENTOS
    # dnf install postgresql
    UBUNTU/DEBIAN
    # apt install postgresql-client
    

    Erstellen Sie eine Remote-Verbindung zum Host, z. 192.168.1.151 als postgres Benutzer und Benutzerpasswort wie im obigen Schritt 1 definiert :

    $ psql -h 192.168.1.151 -U postgres
    Password for user postgres: 
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1), server 10.5)
    Type "help" for help.
    
    postgres=# 
    
    ein

Cent OS
  1. So installieren Sie PostgreSQL unter CentOS 7

  2. So installieren Sie Puppet unter CentOS 8 / RHEL 8

  3. So installieren Sie PostgreSQL 10 auf CentOS 6 / RHEL 6

  4. So installieren Sie PostgreSQL unter CentOS 7 / RHEL 7

  5. So installieren Sie PostgreSQL-Server auf CentOS 8

So installieren Sie Redis Server auf CentOS 8 / RHEL 8

So installieren Sie Zabbix Server 4.x unter CentOS 6 / RHEL 6

So installieren Sie phpPgAdmin 5.6 unter CentOS 7 / RHEL 7

So installieren Sie Zabbix Server 5.0 / 4.0 unter CentOS 7 / RHEL 7

So installieren Sie den PostgreSQL-Datenbankserver CentOS 8

So installieren Sie PostgreSQL unter CentOS 6