Skip to Main Content

 

Auswahl  

PostgreSQL Listener Adresse ändern und Zugriff regulieren 

Postgres
Postgres
24.02.21 (MD)
04.07.23(MP)
PostgreSQL, Linux, Windows, Postgres, Postgre

Passende Schulungen zum Thema

Wenn mann seine ersten Schritte mit PostgreSQL durchführt, ist meist das erste Problem, dass man sich nicht Remote mit der DB verbinden kann. Die Datenbank lauscht standartmäßig auf Clientanfragen erst einmal nur lokal.
Um das zu ändern öffnet man die Datei postgresql.conf.
Dort sucht man nach der Zeile listen_addresses und setzt sie auf *
 

listen_addresses = '*'                 # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost', '*' = all


Jetzt startet man die Datenbank über z. B. den Systemd Service neu und schon 
horcht sie auch auf Verbindungen die nicht vom lokalen System kommen.
Das nächste Probleme folgt aber direkt jetzt. Man kann sich nicht direkt
mit jedem Benutzer Remote anmelden dazu muss man eine Einstellung in einer
weiteren Config Datei treffen. Dort findet man z. B. folgende Zeile:
 

host    all     all     localhost   trust


Hier mal eine kleine Erklärung für diese Zeile.
Der erste Eintrag steht für die Verbindungsart. Der 2te für die Datenbank
auf die sich verbunden werden soll. Der dritte Eintrag ist für den User
dort kann man einen bestimmten User angeben der z. B. nur auf eine bestimmte
Datenbank zugreifen kann. Die Adresse kommt im vierten Eintrag so kann man
z. B. entweder ein ganzes Subnetz oder auch einfach mittels 0.0.0.0 das 
ganze Internet erlauben. Als letztes kommt noch die Authentizifierungsmethode

Wenn Sie genau wissen wollen welche Werte sie dort alles genau eintragen können
finden Sie hier die Doc Seite von Postgre zur pg_hba.conf 
(https://www.postgresql.org/docs/current/auth-pg-hba-conf.html).

Wenn Sie jetzt z. B. wollen das jeder auf diese Datenbank zugreifen kann
schreiben Sie ganz nach oben folgende Zeile:
 

hostssl    all     all     all     scram-sha-256


Ja mir ist bewusst das md5 geknackt wurde. Deshalb nutzen wir als Verbindungsart
hostssl. Das lässt nur eine Verbindung zu wenn diese mittels SSL verschlüsselt ist.

Noch ein kleiner Hinweis zum Ende.
Möchte man sich mittels psql zu einer Datenbank verbinden muss der Benutzername kleingeschrieben sein.
Das hat mich auch ca. 10 bis 15 Minuten gekostet bis ich da drauf gekommen bin.
 

Weitere Interessante Kurs-Tipps zum Thema

Flashback Funktionen in Postgres
Oracle Datenaustausch mit Postgres via REST
Partitionierte Tabellen Beispiele in Postgres
Trigger Beispiele in Postgres
Postgres Backup einer Datenbank mit tar

Besuchen Sie uns doch bei einer unsere über 50 Oracle Schulungen in München - Unterhaching, oder verfolgen Sie die Training per Videostreaming bequem vom Home Office oder Büro aus.