PostgreSQL (häufig als Postgres abgekürzt) ist ein objektrelationales Datenbankverwaltungssystem (ORDBMS), das auf Erweiterbarkeit und Einhaltung von Standards Wert legt.
Es verfügt über mehr als 30 Jahre aktive Entwicklung und eine bewährte Architektur, die ihm einen guten Ruf für Zuverlässigkeit, Datenintegrität und Leistung eingebracht hat.
PostgreSQL wird unter der PostgreSQL-Lizenz veröffentlicht und ist für Linux, Microsoft Windows, FreeBSD, OpenBSD und macOS verfügbar.
In diesem Beitrag werden wir sehen, wie PostgreSQL auf Debian 11 / Debian 10 installiert wird.
PostgreSQL-Repository hinzufügen
PostgreSQL veröffentlicht Pakete für das Debian-Betriebssystem über ihr dediziertes Repository, und die Pakete in ihrem Repository sind aktueller als die im OS-Repository verfügbaren.
Aktualisieren Sie zuerst den Repository-Index mit apt
Befehl
sudo apt update
Installieren Sie dann die HTTPS-Unterstützung für apt, um Pakete aus dem Internet zu erhalten.
sudo apt install -y curl apt-transport-https
Importieren Sie nun den PostgreSQL-Signaturschlüssel.
# Debian 11 curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg # Debian 10 curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Fügen Sie abschließend die PostgreSQL-Repository-Informationen mit dem folgenden Befehl zum System hinzu.
# Debian 11 echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list # Debian 10 echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
Installieren Sie PostgreSQL unter Debian
Nachdem Sie das PostgreSQL-Repository hinzugefügt haben, führen Sie den folgenden Befehl aus, um den Repository-Index zu aktualisieren.
sudo apt update
Installieren Sie dann PostgreSQL mit dem folgenden Befehl basierend auf der PostgreSQL-Version, die Sie installieren möchten.
# PostgreSQL 13 sudo apt install -y postgresql-13 # PostgreSQL 12 sudo apt install -y postgresql-12
Inzwischen ist der PostgreSQL-Dienst betriebsbereit. Sie können den Status des Dienstes mit dem folgenden Befehl überprüfen.
sudo systemctl status postgresql
Ausgabe:
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Wed 2021-09-15 14:19:30 CDT; 42s ago Main PID: 3759 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2343) Memory: 0B CGroup: /system.slice/postgresql.service Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Starting PostgreSQL RDBMS... Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Started PostgreSQL RDBMS.
PostgreSQL-Server konfigurieren
Standardmäßig lauscht PostgreSQL auf dem Localhost (127.0.0.1), was Sie möglicherweise nicht immer möchten, da externe Anwendungen möglicherweise eine Verbindung zur Datenbank herstellen müssen. Also werden wir PostgreSQL so konfigurieren, dass es auf die IP-Adresse des Systems lauscht.
# PostgreSQL 13 sudo nano /etc/postgresql/13/main/postgresql.conf # PostgreSQL 12 sudo nano /etc/postgresql/12/main/postgresql.conf
Legen Sie die listen_addresses
fest zu *
oder <IPAddress>
.
listen_addresses = '192.168.0.10'
PostgreSQL-Dienst neu starten.
sudo systemctl restart postgresql
Sie können jetzt die netstat
verwenden Befehl, um zu bestätigen, ob PostgreSQL auf Port 5432 lauscht oder nicht.
sudo netstat -antup | grep 5432
Ausgabe:
tcp 0 0 192.168.0.10:5432 0.0.0.0:* LISTEN 5265/postgres
LESEN :netstat-Befehl nicht auf Debian gefunden – Quick Fix
Zugriff auf PostgreSQL
Um die PostgreSQL-Datenbank zu verwalten, müssen Sie sich als postgres
anmelden (Linux-Benutzer) und müssen dann mit psql
auf die Datenbank-Shell zugreifen Befehl.
sudo -u postgres psql
Ausgabe:
postgres@server:~$ psql psql (13.4 (Debian 13.4-1.pgdg100+1)) Type "help" for help. postgres=#ein
Auf psql
Shell, führen Sie den folgenden Befehl aus, um den postgres
zu ändern Benutzer (Passwort des Datenbankadministrators.
postgres=# \password
ODER
postgres=# \password postgres
PostgreSQL-Datenbank und Benutzer erstellen
Erstellen Sie zuerst einen Datenbankbenutzer mit dem folgenden Befehl.
CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password';
Erstellen Sie als Nächstes eine Datenbank mit dem folgenden Befehl.
CREATE DATABASE mydb WITH OWNER mydb_user;
Anschließend können Sie mydb_user
Berechtigungen erteilen auf der neu erstellten Datenbank.
GRANT ALL PRIVILEGES ON DATABASE mydb TO mydb_user;
Überprüfen Sie nun, ob der Benutzer erstellt wurde oder nicht.
postgres=# \du
Ausgabe:
postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- mydb_user | | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} postgres=#
Außerdem können Sie Datenbanken auflisten, um zu sehen, ob Ihre Datenbank mydb
ist wurde erstellt.
postgres=# \l
Ausgabe:
postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-----------+----------+-------------+-------------+------------------------- mydb | mydb_user | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/mydb_user + | | | | | mydb_user=CTc/mydb_user 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 (4 rows) postgres=#
Melden Sie sich schließlich bei mydb
an mit dem Datenbankbenutzer mydb_user
.
psql -h localhost -d mydb -U mydb_user
Ausgabe:
Password for user mydb_user: psql (13.4 (Debian 13.4-1.pgdg110+1)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. mydb=>
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man PostgreSQL unter Debian 11 / Debian 10 installiert.