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.