Website-Suche

So installieren Sie PostgreSQL mithilfe des Quellcodes unter Linux


PostgreSQL, ein relationales Open-Source-Datenbankverwaltungssystem, ist weithin für seine robusten Funktionen und Erweiterbarkeit bekannt. Während viele Linux-Distributionen PostgreSQL über ihre Paketmanager bereitstellen, ermöglicht die Installation von der Quelle eine bessere Anpassung und Kontrolle.

In diesem Artikel erklären wir, wie Sie PostgreSQL 16 mithilfe der Quellcode-Installation auf Linux-Systemen installieren.

Für diejenigen, die eine einfachere Installationsmethode über den Paketmanager der Distribution suchen, befolgen Sie bitte die folgenden Anleitungen:

Voraussetzungen

Bevor Sie mit dem PostgreSQL-Installationsprozess beginnen, stellen Sie sicher, dass Ihr System die folgenden Voraussetzungen erfüllt:

  • Eine Linux-Distribution (in diesem Handbuch verwenden wir zu Demonstrationszwecken Debian).
  • Ein Linux-System mit einem Nicht-Root-Benutzer mit Sudo-Berechtigungen.
  • Wichtige Entwicklungstools wie GCC und Make sind installiert.

1. Installieren Sie Voraussetzungen unter Linux

Installieren Sie zunächst wichtige Entwicklungstools wie GCC und Make mithilfe des Distributionspaketmanagers wie gezeigt.

Auf RHEL-basierten Distributionen wie CentOS, Fedora, Rocky Linux und Alma Linux:

sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel

Auf Debian-basierten Distributionen wie Ubuntu und Linux Mint.

sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config

2. Laden Sie den PostgreSQL-Quellcode herunter

Sobald die erforderlichen Voraussetzungen installiert sind, laden Sie die Quellcode-TAR-Datei von der offiziellen Postgres-Website herunter, indem Sie den folgenden wget-Befehl direkt auf dem System verwenden. Zum Zeitpunkt des Schreibens ist die neueste Version PostgreSQL 16.1.

wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2

Als nächstes verwenden Sie den Befehl tar, um die heruntergeladene Tarball-Datei zu extrahieren. Ein neues Verzeichnis mit dem Namen postgresql-16.1 wird erstellt.

tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l

Beispielausgabe:

-rw-r--r--.  1 tecmint tecmint    365 Nov  7 03:34 aclocal.m4
drwxr-xr-x.  2 tecmint tecmint   4096 Nov  7 03:47 config
-rwxr-xr-x.  1 tecmint tecmint 584560 Nov  7 03:34 configure
-rw-r--r--.  1 tecmint tecmint  87292 Nov  7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint   4096 Nov  7 03:47 contrib
-rw-r--r--.  1 tecmint tecmint   1192 Nov  7 03:34 COPYRIGHT
drwxr-xr-x.  3 tecmint tecmint   4096 Nov  7 03:47 doc
-rw-r--r--.  1 tecmint tecmint   4288 Nov  7 03:34 GNUmakefile.in
-rw-r--r--.  1 tecmint tecmint    277 Nov  7 03:34 HISTORY
-rw-r--r--.  1 tecmint tecmint  64601 Nov  7 03:48 INSTALL
-rw-r--r--.  1 tecmint tecmint   1875 Nov  7 03:34 Makefile
-rw-r--r--.  1 tecmint tecmint 102017 Nov  7 03:47 meson.build
-rw-r--r--.  1 tecmint tecmint   6266 Nov  7 03:34 meson_options.txt
-rw-r--r--.  1 tecmint tecmint   1213 Nov  7 03:34 README
drwxr-xr-x. 16 tecmint tecmint   4096 Nov  7 03:48 src

3. Konfigurieren Sie PostgreSQL aus der Quelle

Da es sich bei Postgres um eine Open-Source-Datenbank handelt, kann sie je nach Bedarf/Anforderungen aus dem Quellcode erstellt werden. Wir können den Erstellungs- und Installationsprozess anpassen, indem wir eine oder mehrere Befehlszeilenoptionen für verschiedene zusätzliche Funktionen bereitstellen.

Verwenden Sie den folgenden Befehl, um Hilfe zu verschiedenen Optionen und zur Konfigurationsverwendung zu erhalten, wie gezeigt.

./configure --help

Führen Sie nun das Konfigurationsskript aus, das Ihr System auf Abhängigkeiten überprüft und den Build entsprechend konfiguriert.

./configure

4. Installieren Sie PostgreSQL von der Quelle

Verwenden Sie nach der Konfiguration die folgenden Befehle, um PostgreSQL aus der Quelle zu erstellen und zu installieren.

make
sudo make install

5. Postgres-Benutzer erstellen

Erstellen Sie nun einen postgres-Benutzer und ein Verzeichnis, das als Datenverzeichnis für die Initialisierung des Datenbankclusters verwendet werden soll. Der Besitzer dieses data-Verzeichnisses sollte ein postgres-Benutzer sein und die Berechtigungen sollten 700 sein. Außerdem sollte zur Vereinfachung ein Pfad für Postgresql-Binärdateien festgelegt werden.

sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh 

6. Initialisierung der Postgres-Datenbank

Initialisieren Sie nun die Datenbank mit dem folgenden Befehl als postgres-Benutzer, bevor Sie irgendwelche postgres-Befehle verwenden.

su postgres
initdb -D /pgdatabase/data/ -U postgres -W

Dabei ist -D der Speicherort für diesen Datenbankcluster oder wir können sagen, es ist das Datenverzeichnis, in dem wir den Datenbankcluster initialisieren möchten, -U für den Datenbank-Superuser-Namen und -W für die Passwortabfrage für den Datenbank-Superuser.

Weitere Informationen und Optionen finden Sie unter initdb --help.

7. Starten Sie den PostgreSQL-Dienst

Starten Sie nach der Initialisierung der Datenbank den Datenbankcluster. Wenn Sie den Port ändern oder die Adresse des Servers abhören müssen, bearbeiten Sie die Datei /pgdatabase/data/postgresql.conf im Datenverzeichnis von Der Datenbankserver.

nano /pgdatabase/data/postgresql.conf

Starten Sie nun den PostgreSQL-Dienst.

pg_ctl -D /pgdatabase/data/ start

Überprüfen Sie nach dem Starten der Datenbank den Status des postgres-Serverprozesses mit den folgenden ps- und netstat-Befehlen.

ps -ef |grep -i postgres
netstat -apn |grep -i 51751

Wir können sehen, dass der Datenbankcluster einwandfrei läuft und Startprotokolle an dem Speicherort gefunden werden können, der beim Starten des Datenbankclusters mit der Option -l angegeben wurde.

pg_ctl -D /pgdatabase/data/ -l logfile start

8. Stellen Sie eine Verbindung zu PostgreSQL her

Stellen Sie nun eine Verbindung zum Datenbankcluster her und erstellen Sie mit den folgenden Befehlen eine Datenbank.

psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console

Wenn Sie nach einem grafischen Tool namens pgAdmin zur Verwaltung Ihres PostgreSQL suchen, befolgen Sie diese Anleitungen, um pgAdmin auf Ihrer Linux-Distribution zu installieren.

Abschluss

Sie haben PostgreSQL erfolgreich aus dem Quellcode auf Ihrem Linux-System installiert. Dieser Prozess bietet Flexibilität und Kontrolle über Ihre PostgreSQL-Installation, sodass Sie sie an Ihre spezifischen Anforderungen anpassen können.