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

So installieren und sichern Sie PostgreSQL Server auf RockyLinux 8

PostgreSQL ist ein beliebtes relationales Open-Source-Datenbankverwaltungssystem. Bekannt für seine Zuverlässigkeit, gewinnt es aufgrund seiner Robustheit, Flexibilität und Leistung an Popularität. PostgreSQL wird zur Verwaltung von Datenbanken und zahlreichen Web- und Analyseanwendungen verwendet. Zum Zeitpunkt der Erstellung dieses Artikels ist PostgreSQL 13 die neueste Version. Diese Version enthält erhebliche Verbesserungen des Indizierungs- und Suchsystems, die großen Datenbanken zugute kommen.

In diesem Beitrag zeigen wir Ihnen, wie Sie PostgreSQL unter Rocky Linux 8 installieren und sichern.

Voraussetzungen

  • Ein Server, auf dem Rocky Linux 8 auf der Atlantic.Net Cloud Platform ausgeführt wird
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Schritt 1 – Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Rocky Linux 8 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2 – PostgreSQL 13-Repository hinzufügen

dnf module list postgresql

Sie sollten sehen, dass nur PostgreSQL Version 10 verfügbar ist:

Rocky Linux 8 - AppStream
Name                         Stream                   Profiles                             Summary                                             
postgresql                   9.6                      client, server [d]                   PostgreSQL server and client module                 
postgresql                   10 [d]                   client, server [d]                   PostgreSQL server and client module                 
postgresql                   12                       client, server [d]                   PostgreSQL server and client module                 
postgresql                   13                       client, server [d]                   PostgreSQL server and client module                 

Um die neueste PostgreSQL-Version zu installieren, müssen Sie das PostgreSQL-Repository auf Ihrem System installieren.

Sie können es mit dem folgenden Befehl installieren:

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Sobald das Repo erstellt ist, können Sie mit dem nächsten Schritt fortfahren.

Schritt 3 – PostgreSQL 13 auf Rocky Linux 8 installieren

Aktualisieren Sie nun Ihr Repository mit dem folgenden Befehl:

dnf update -y

Deaktivieren Sie als Nächstes das standardmäßige PostgreSQL-Repository mit dem folgenden Befehl:

dnf -qy module disable postgresql

Installieren Sie als Nächstes die neueste Version von PostgreSQL, indem Sie den folgenden Befehl ausführen:

dnf install postgresql13 postgresql13-server

Sobald PostgreSQL 13 installiert ist, erhalten Sie die folgende Ausgabe:

Last metadata expiration check: 0:00:08 ago on Fri 22 Oct 2021 08:38:58 AM UTC.
Dependencies resolved.
===============================================================================================================================================
 Package                                  Architecture                Version                                Repository                   Size
===============================================================================================================================================
Installing:
 postgresql13                             x86_64                      13.4-1PGDG.rhel8                       pgdg13                      1.5 M
 postgresql13-server                      x86_64                      13.4-1PGDG.rhel8                       pgdg13                      5.5 M
Installing dependencies:
 postgresql13-libs                        x86_64                      13.4-1PGDG.rhel8                       pgdg13                      414 k

Transaction Summary
===============================================================================================================================================
Install  3 Packages

Total download size: 7.4 M
Installed size: 31 M
Is this ok [y/N]: y

Als nächstes initialisieren Sie die PostgreSQL-Datenbank mit dem folgenden Befehl:

/usr/pgsql-13/bin/postgresql-13-setup initdb

Beispielausgabe:

Initializing database ... OK

Starten Sie als Nächstes den PostgreSQL-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start postgresql-13
systemctl enable postgresql-13

Sie können den Status von PostgreSQL mit dem folgenden Befehl überprüfen:

systemctl status postgresql-13

Sie sollten die folgende Ausgabe erhalten:

● postgresql-13.service - PostgreSQL 13 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-13.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-10-22 08:39:47 UTC; 7s ago
     Docs: https://www.postgresql.org/docs/13/static/
  Process: 36412 ExecStartPre=/usr/pgsql-13/bin/postgresql-13-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 36417 (postmaster)
    Tasks: 8 (limit: 11411)
   Memory: 16.8M
   CGroup: /system.slice/postgresql-13.service
           ├─36417 /usr/pgsql-13/bin/postmaster -D /var/lib/pgsql/13/data/
           ├─36419 postgres: logger 
           ├─36421 postgres: checkpointer 
           ├─36422 postgres: background writer 
           ├─36423 postgres: walwriter 
           ├─36424 postgres: autovacuum launcher 
           ├─36425 postgres: stats collector 
           └─36426 postgres: logical replication launcher 
ss -antpl | grep 5432

Sie erhalten die folgende Ausgabe:

LISTEN 0      128        127.0.0.1:5432       0.0.0.0:*    users:(("postmaster",pid=36417,fd=7))
LISTEN 0      128            [::1]:5432          [::]:*    users:(("postmaster",pid=36417,fd=6))

Schritt 4 – Legen Sie ein Passwort für den Postgres-Benutzer fest

Um ein Passwort festzulegen, melden Sie sich mit dem folgenden Befehl bei PostgreSQL an:

su - postgres

Legen Sie als Nächstes mit dem folgenden Befehl ein sicheres Passwort fest:

psql -c "alter user postgres with password 'securepassword'"

Verlassen Sie als Nächstes die PostgreSQL-Shell mit dem folgenden Befehl:

exit

Schritt 5 – PostgreSQL-Authentifizierungsmethode ändern

Sie können es ändern, indem Sie die Hauptkonfigurationsdatei von PostgreSQL bearbeiten:

nano /var/lib/pgsql/13/data/pg_hba.conf

Suchen Sie die folgende Zeile:

local   all             all                                     peer

Und ersetzen Sie es durch die folgende Zeile:

local   all             all                                     scram-sha-256

Speichern und schließen Sie die Datei und starten Sie dann den PostgreSQL-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart postgresql-13

Schritt 6 – Erstellen Sie eine Datenbank und einen Benutzer in PostgreSQL

Melden Sie sich zunächst mit dem folgenden Befehl bei der PostgreSQL-Shell an:

sudo -u postgres psql

Sie erhalten die folgende Ausgabe:

could not change directory to "/root": Permission denied
psql (13.4)
Type "help" for help.

postgres=# 
ein

Erstellen Sie als Nächstes einen neuen PostgreSQL-Benutzer namens user1 mit dem folgenden Befehl:

CREATE USER user1 WITH CREATEDB CREATEROLE PASSWORD 'passoword';

Um die PostgreSQL-Benutzer zu überprüfen, führen Sie Folgendes aus:

\du

Sie erhalten die folgende Ausgabe:

                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 user1     | Create role, Create DB                                     | {}

Um eine neue PostgreSQL-Datenbank mit dem Namen user1db zu erstellen, führen Sie Folgendes aus:

CREATE DATABASE user1db OWNER user1;

Um die PostgreSQL-Datenbanken zu überprüfen, führen Sie Folgendes aus:

\l

Sie erhalten die folgende Ausgabe:

                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 user1db   | user1    | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

Schlussfolgerung

Herzliche Glückwünsche! Sie haben PostgreSQL erfolgreich auf Rocky Linux 8 installiert und gesichert. Aus Sicherheitsgründen wird immer empfohlen, die neueste Version von PostgreSQL in der Produktionsumgebung zu installieren. Probieren Sie VPS-Hosting von Atlantic.Net aus!


Linux
  1. So installieren und konfigurieren Sie Postgres 13 auf Centos 8

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

  3. So installieren und sichern Sie Redis unter Ubuntu 18.04

  4. So installieren Sie PostgreSQL-Server auf CentOS 8

  5. So installieren Sie einen PostgreSQL-Server unter Ubuntu 18.04

So installieren Sie die PostgreSQL-Datenbank und pgAdmin unter Linux

So installieren und sichern Sie phpMyAdmin in Ubuntu 14.04

So installieren Sie Tomcat und Java unter CentOS 8

So installieren und sichern Sie Memcached unter Ubuntu 18.04

So installieren und sichern Sie phpMyAdmin unter CentOS 8

So installieren und konfigurieren Sie Parse Server unter Ubuntu 20.04