PostgreSQL als Service auf Linux Debian Server einrichten

PostgreSQL Linux

Ich gehe für die Installation der PostgreSQL Datenbank und dem Wildfly Applikationsserver von dem Stand aus, den ihr nach der Durchführung der Anleitung im Artikel: Linux Debian Server einrichten und absichern habt!

PostgreSQL-Datenbank installieren und einrichten

Die Installation ist sehr einfach, folgender Befehl reicht aus:

apt-get install postgresql postgresql-client

Danach existiert ein default-User und eine default-Datenbank, beide heißen postgres. Wir möchten aber einen eigenen User erzeugen, der eine eigene Datenbank bekommt auf die nur er Zugriff hat. Dafür erzeugen wir als root aus der Shell heraus einen neuen User. Danach erzeugen wir als postgres nochmal den selben User und erzeugen anschließend für ihn eine Datenbank. Der Einfachheit halber könnt ihr in folgenden Eingabefeldern euren gewählten Benutzernamen und Datenbanknamen eingeben, damit sich die kopierbaren Befehle und Konfigurationen für euch anpassen:

Benutzername
Datenbankname
Datenbank Port
adduser psqluser
su - postgres
createuser -p 5432 -P psqluser
createdb -p 5432 -O psqluser mydatabase
exit

Jetzt können wir uns als der neue User anmelden und uns Testhalber gegen die für ihn erzeugte Datenbank verbinden:

su - psqluser
psql -p 5432 mydatabase

Einige hilfreiche Befehle:

  • \? zeigt alle existierenden PSQL-Befehle
  • \help zeigt alle existierenden SQL-Befehle
  • \l zeigt alle existierenden Datenbanken
  • \dt zeigt alle Tabellen der Datenbank (mydatabase)
  • \q beendet die PSQL-Console

Um jetzt den Zugang von außen einzustellen, könnt ihr folgende Konfigurationsdatei anpassen, das müsst ihr allerdings wieder als root erledigen, deshalb meldet euch mit exit wieder ab. Bei mir ist die Version die 9.5, solltet ihr eine andere haben, müsst ihr den Pfad dementsprechend ändern!

\q
exit
vim /etc/postgresql/9.5/main/pg_hba.conf

Dort tragt ihr den Zugriff über host von eurem User psqluser auf eure Datenbank mydatabase auf trust (Vertrauen). Wenn ihr das tut, könnt ihr mit einem PuTTY-Tunnel von eurem Client-Rechner aus auf die Datenbank zugreifen und sie administrieren bzw. Backups ziehen!

host    mydatabase        psqluser            0.0.0.0/0          trust

Danach müsst ihr den postgresql-Service neu starten:

service postgresql reload

Jetzt ist eure Datenbank fertig eingerichtet und ihr könnt euch mit eurem Client darauf verbinden. Ich habe euch hier eine gute Anleitung raus gesucht, die beschreibt wie man sich verbindet.