Moin,
was steht nach dem Boot denn im dmesg drin? Alternativ hilft es auch noch einmal via journalctl -xeu postgresql (o.Ä) zu prüfen. Und vielleicht zu einfach, aber einen Versuch wert - versuche einmal ein Leerzeichen zwischen listen_addresses = 'localhost,192.168.56.107' zu setzen. Also so: listen_addresses = 'localhost, 192.168.56.107'
Viele Grüße
Phil
rainer.rose@hannit.de hat am 04.03.2021 11:09 geschrieben: Moin! Ich habe hier ein CentOS 8 mit einem Postgres-DBMS was beim reboot einfach nicht „sauber“ starten möchte; mir gehen langsam die Ideen aus, wo ich noch suchen soll oder was ich falsch mache. Gefühlt habe ich das Internet leer gesucht, aber keine für mich passende Lösung gefunden. Postgres läuft fröhlich in ähnlicher Konfig auf einem CentOS 7 und ich habe auch zwei Work-Arounds, die ok sind; aber ich würde eben einfach gerne verstehen, warum meine Konfig nicht läuft. Grundsätzlich geht es um den Parameter listen_addresses. Hier soll localhost und die lokale IP rein. Ich will nicht über den Sinn/Unsinn von IP-Basierter IT-Security reden, sondern einfach nur verstehen, warum es unter CentOS 7 läuft, aber nicht unter CentOS 8. Das macht mich wahnsinnig !!11EinsElf Die Postgres-Version scheint auch kein Problem zu sein, hab 10 und 12 ausprobiert. Ersetze ich die komma-separierte Liste durch * geht’s. Beispiel listen_addresses = 'localhost,192.168.56.107' CentOS 7 = geht CentOS 8 = Fehlermeldung Was heißt geht? Beim Reboot und einem anschließenden systemctl status postgresql LOG: konnte IPv4-Adresse »192.168.56.107« nicht binden: Die angeforderte Adresse kan> TIPP: Läuft bereits ein anderer Postmaster auf Port 5432? Wenn nicht, warten Sie ein> WARNUNG: konnte Listen-Socket für »192.168.56.107« nicht erzeugen Bei netstat und lsof fehlen entsprechende Einträge, der postmaster lauscht also nicht. L Der Knaller: Starte ich postgres händisch durch (nach dem Reboot) ist die Warning-Meldung weg und netstat als auch lsof bestätigen ein „horchen“. erwarte Verbindungen auf IPv4-Adresse »192.168.56.107«, Port 5432 Entsprechend ist auch dann der postgres erst von extern (z.B. pgadmin) erreichbar. Was ich so rechecheriert habe /etc/hosts-Datei lokale IP aufnehmen, Filesystem Rechte kontrolliert, firewall aus, seLinux auf permissive, keine Leichen ala /tmp/.s.PGSQL.5 nach dem händischen stoppen von postgres. Klar kann ich in die start-Unit ExecStartPre=/bin/sleep 30 Eintragen oder eben auch listen_addresses = '*' dann kommt postgres ohne Gemecker nach oben. Die Logdateien unter ~postgres/data/log/postgresql-Fri.log schweigen sich aus. Habe erst das Netzwerk in Verdacht gehabt, weil sich das bei dmesg im IPv6-Bereich beschwert, dass es noch nicht „ready“ sei. Flugs IPv6 per Kernel-Parameter in der grub-Konfig deaktiviert, aber auch ohne Besserung bzw. noch mehr Genörgel im selinux-Bereich, was aber ein alter Bug zu sein scheint: https://bugzilla.redhat.com/show_bug.cgi?id=641836 https://bugzilla.redhat.com/show_bug.cgi?id=641836 VG Rainer -- _______________________________________________ CentOS-de mailing list CentOS-de@centos.org https://lists.centos.org/mailman/listinfo/centos-de
Mit freundlichen Grüßen,
Phil Thiele
____________________________
Phil Thiele
Geestrand 2
21435 Stelle
Tel.: 0151 507 811 81
Mail: p.thiele@mailbox.org