PostgreSQL ist ein kostenloses, objektrelationales Open-Source-Datenbankverwaltungssystem (ORDBMS), das für verschiedene Plattformen verfügbar ist, darunter Linux, Microsoft Windows und Mac OS X.
PostgreSQL wird von der PGDG (PostgreSQL Global Development Group) entwickelt und unter der PostgreSQL-Lizenz veröffentlicht, einer kostenlosen Open-Source-Software.
In diesem Beitrag werden wir sehen, wie PostgreSQL auf CentOS 8 / Rocky Linux 8 / RHEL 8 installiert wird.
Installieren Sie PostgreSQL unter CentOS 8 / Rocky Linux 8 / RHEL 8
Sie können PostgreSQL-Pakete für CentOS 8/Rocky Linux 8/RHEL 8 auf zwei Arten erhalten.
- Offizielles PostgreSQL-Repository (v14, 13, 12, 11, 10)
- AppStream-Repository (v13,12,10, 9.6)
Installieren Sie PostgreSQL aus dem offiziellen PostgreSQL-Repository
Die PostgreSQL-Community bietet PostgreSQL-Pakete für CentOS 8 / Rocky Linux 8 / RHEL 8. Von PostgreSQL bereitgestellte Pakete sind immer aktuell und werden von der PostgreSQL-Community unterstützt.
PostgreSQL-Repository hinzufügen
Installieren Sie zuerst die PostgreSQL-Repository-Konfiguration auf Ihrem System, wie unten gezeigt.
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
PostgreSQL installieren
Installieren Sie dann den PostgreSQL-Server mit dnf
Befehl, indem Sie seine Version postgresql<VERSION>-server
erwähnen . Für diese Demo installiere ich PostgreSQL 14.
dnf -qy module disable postgresql dnf install -y postgresql14-server
Initialisieren Sie nach der Installation von PostgreSQL die Datenbank, bevor Sie sie zum ersten Mal verwenden.
/usr/pgsql-14/bin/postgresql-14-setup initdb
Ausgabe:
Initializing database ... OK
PostgreSQL-Daten befinden sich normalerweise im Verzeichnis /var/lib/pgsql/14/data/.
PostgreSQL-Dienst verwalten
Um den PostgreSQL-Dienst zu starten, führen Sie Folgendes aus:
systemctl start postgresql-14
Um PostgreSQL beim Systemstart zu aktivieren, führen Sie Folgendes aus:
systemctl enable postgresql-14
Um den Status des PostgreSQL-Dienstes zu überprüfen, führen Sie Folgendes aus:
systemctl status postgresql-14
PostgreSQL-Server konfigurieren
Standardmäßig lauscht PostgreSQL auf dem localhost. Daher können sich standardmäßig nur Anwendungen, die auf dem Server ausgeführt werden, mit dem Datenbankserver verbinden und externe Anwendungen daran hindern, sich mit der Datenbank zu verbinden.
Bearbeiten Sie die Konfigurationsdatei, um den Zugriff auf den Datenbankdienst für externe Maschinen zu ermöglichen.
vi /var/lib/pgsql/14/data/postgresql.conf
Setzen Sie listen_addresses auf *.
listen_addresses = '*'
PostgreSQL-Dienst neu starten.
systemctl restart postgresql-14
Bestätigen Sie mit dem Befehl netstat, dass PostgreSQL Port 5432 auf allen Netzwerkschnittstellen abhört.
netstat -antup | grep 5432
Ausgabe:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 4156/postmaster tcp6 0 0 :::5432 :::* LISTEN 4156/postmaster
Installieren Sie PostgreSQL aus dem AppStream-Repository
PostgreSQL ist jetzt für RHEL 8 aus dem Application Stream von Red Hat (rhel-8-for-x86_64-appstream-rpms) und CentOS 8 aus dem AppStream-Repository verfügbar.PostgreSQL 13, 12, 10 und 9.6 sind aus dem AppStream-Repository verfügbar.dnf module list postgresql
Ausgabe:
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 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
PostgreSQL installieren
Installieren Sie PostgreSQL mit dnf
Befehl. Sie können eine andere Version mit postgresql:stream
installieren im dnf-Befehl.
# PostgreSQL 10 dnf install -y @postgresql # PostgreSQL 13 dnf install -y @postgresql:13
Initialisieren Sie nach der Installation von PostgreSQL die Datenbank, bevor Sie sie zum ersten Mal verwenden.
/usr/bin/postgresql-setup --initdb
Ausgabe:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
PostgreSQL-Daten befinden sich normalerweise im Verzeichnis /var/lib/pgsql/data.
PostgreSQL-Dienst verwalten
Führen Sie zum Starten des PostgreSQL-Dienstes Folgendes aus:
systemctl start postgresql
Um PostgreSQL beim Systemstart zu aktivieren, führen Sie Folgendes aus:
systemctl enable postgresql
Um den Status des PostgreSQL-Dienstes zu überprüfen, führen Sie Folgendes aus:
systemctl status postgresql
PostgreSQL-Server konfigurieren
Standardmäßig lauscht PostgreSQL auf dem localhost. Daher können sich standardmäßig nur Anwendungen, die auf dem Server ausgeführt werden, mit dem Datenbankserver verbinden und externe Anwendungen daran hindern, sich mit der Datenbank zu verbinden.
Bearbeiten Sie die Konfigurationsdatei, um den Zugriff auf den Datenbankdienst für externe Maschinen zu ermöglichen.
vi /var/lib/pgsql/data/postgresql.conf
Setzen Sie listen_addresses auf *.
listen_addresses = '*'
PostgreSQL-Dienst neu starten.
systemctl restart postgresql
Bestätigen Sie mit dem Befehl netstat, dass PostgreSQL Port 5432 auf allen Netzwerkschnittstellen abhört.
netstat -antup | grep 5432
Ausgabe:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 4156/postmaster tcp6 0 0 :::5432 :::* LISTEN 4156/postmaster
Greifen Sie auf den PostgreSQL-Server zu
Um auf die Datenbank zuzugreifen oder mit ihr zu arbeiten, melden Sie sich als Postgres-Benutzer (Linux-Benutzer) an und führen Sie psql
aus Befehl.
su -l postgres
Greifen Sie mit dem Befehl psql auf die Datenbank zu.
$ psql
Ausgabe:
psql (13.5) Type "help" for help. postgres=#
Legen Sie das Passwort für den Postgres-Benutzer (Datenbankadministrator) fest.
postgres=# \password
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man PostgreSQL unter CentOS 8 / Rocky Linux 8 / RHEL 8 installiert.