PostgreSQL (alias Postgres) ist ein objektrelationales Datenbankverwaltungssystem (ORDBMS), das für Linux, Microsoft Windows, FreeBSD, OpenBSD, Solaris und Mac OS verfügbar ist.
PostgreSQL wird unter der PostgreSQL-Lizenz veröffentlicht, einer freien und freizügigen Open-Source-Softwarelizenz, die von der PGDG (PostgreSQL Global Development Group), einer Gruppe von einzelnen Freiwilligen und Unternehmen, entwickelt wurde.
Hier werden wir die Schritte zur Installation von PostgreSQL 11/10 auf Ubuntu 18.04/Ubuntu 16.04 und Linux Mint 19/Linux Mint 18 durchgehen.
PostgreSQL-Repository hinzufügen
PostgreSQL veröffentlicht deb-Pakete für Ubuntu, und ihre Pakete sind aktueller als die im Basis-Repository des Betriebssystems verfügbaren.
Importieren Sie den PostgreSQL-Signaturschlüssel.
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add -
Fügen Sie das PostgreSQL-Repository zu /etc/apt/sources.list.d/postgresql.list hinzu Datei.
### Ubuntu 18.04 / LinuxMint 19 ### echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list ### Ubuntu 16.04 / LinuxMint 18 ### echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
PostgreSQL installieren
Führen Sie den folgenden Befehl aus, um den Repository-Index zu aktualisieren.
sudo apt-get update
Installieren Sie das PostgreSQL-Paket mit dem apt-Befehl.
### PostgreSQL 11 ### sudo apt-get install -y postgresql-11 ### PostgreSQL 10 ### sudo apt-get install -y postgresql-10
PostgreSQL-Dienst steuern
Um den PostgreSQL-Dienst zu starten, führen Sie Folgendes aus:
sudo systemctl start postgresql
Um den PostgreSQL-Dienst zu stoppen, führen Sie Folgendes aus:
sudo systemctl stop postgresql
Um den PostgreSQL-Dienst neu zu starten, führen Sie Folgendes aus:
sudo systemctl restart postgresql
Führen Sie Folgendes aus, um den Ausführungsstatus des PostgreSQL-Dienstes zu ü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 Sat 2019-02-23 11:30:32 IST; 3min 5s ago Main PID: 5285 (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 2323) CGroup: /system.slice/postgresql.service Feb 23 11:30:32 desktop systemd[1]: Starting PostgreSQL RDBMS... Feb 23 11:30:32 desktop systemd[1]: Started PostgreSQL RDBMS.
PostgreSQL-Server konfigurieren
PostgreSQL lauscht nur auf dem Loopback-Adapter (127.0.0.1) . Manchmal muss die extern gehostete Anwendung möglicherweise eine Verbindung zur Datenbank herstellen. Dafür müssen wir PostgreSQL so konfigurieren, dass es auf allen Adaptern lauscht.
### PostgreSQL 11 ### sudo nano /etc/postgresql/11/main/postgresql.conf ### PostgreSQL 10 ### sudo nano /etc/postgresql/10/main/postgresql.conf
Legen Sie die listen_addresses
fest zu *
oder <IPAddress>
.
listen_addresses = '*'
PostgreSQL-Dienst neu starten.
sudo systemctl restart postgresql
Bestätigen Sie, dass PostgreSQL Port 5432 überwacht mit dem netstat-Befehl.
sudo netstat -antup | grep 5432
Ausgabe:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 6518/postgres tcp6 0 0 :::5432 :::* LISTEN 6518/postgres
LESEN :netstat-Befehl nicht auf Ubuntu gefunden – Quick Fix
Zugriff auf PostgreSQL
Um die Datenbank zu verwalten, müssen Sie sich als postgres-Benutzer anmelden.
sudo su -l postgres
Verwenden Sie die psql, eine interaktive Shell für die Arbeit mit der PostgreSQL-Datenbank .
psql
Ausgabe:
postgres@server:~$ psql psql (11.2 (Ubuntu 11.2-1.pgdg18.04+1)) Type "help" for help. postgres=#
Sichere PostgreSQL-Datenbank
Wir werden jetzt ein Passwort für den Linux-Benutzer (postgres) festlegen sowie DB-Administrator (postgres) .
Passwort für Linux-Benutzer festlegen (postgres)
sudo passwd postgres
Ausgabe:
raj@server:~$ sudo passwd postgres Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Passwort für DB-Administrator festlegen (postgres)
su - postgres psql
Auf der PSQL-Shell , führen Sie den folgenden Befehl aus, um das Passwort des Datenbankadministrators zu ändern.
postgres=# \password
ODER
postgres=# \password postgres
Ausgabe:
postgres=# \password postgres Enter new password: Enter it again:
PostgreSQL-DB-Befehle
Die Syntax zum Erstellen einer Datenbank lautet:
$ su - postgres $ createdb test
Melden Sie sich bei DB an.
$ psql test
Die Syntax zum Erstellen eines Benutzers lautet:
test=# CREATE USER raj WITH SUPERUSER LOGIN PASSWORD 'password';
Überprüfen Sie, ob der Benutzer erstellt wurde oder nicht.
test=# \du
Ausgabe:
test=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} raj | Superuser | {}
Melden Sie sich mit dem Benutzer „raj“ an.
psql -h localhost -d test -U raj
Ausgabe:
psql (11.2 (Ubuntu 11.2-1.pgdg18.04+1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. test=#
Die Syntax zum Auflisten von Datenbanken:
test=# \l
Ausgabe:
test=# \l 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 test | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (4 rows)
Das ist alles. Sie haben PostgreSQL 11 / 10 erfolgreich auf Ubuntu 18.04 / Ubuntu 16.04 &Linux Mint 19 / Linux Mint 18 installiert.