Update PosgreSQL fehlgeschlagen

german

#1

Hallo allerseits,

habe heute Paketupdates durchführen lassen, dabei ist das update von 2 Paketen fehlgeschlagen.
Das eine konnte ich über Neuinstallation wieder richten, aber beim PosgreSQL stimmt irgendwas
nicht:

root@boss:~# dpkg --configure -a
postgresql-9.1 (9.1.15-0.7.201503031519) wird eingerichtet ...
[....] Starting PostgreSQL 9.1 database server: main[....] Error: Port conflict:[FAILher instance is already running on /var/run/postgresql with port 5432 ... failed!
 failed!
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: Fehler beim Bearbeiten von postgresql-9.1 (--configure):
 Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
Fehler traten auf beim Bearbeiten von:
 postgresql-9.1

root@boss:~# dpkg --audit
Die folgenden Pakete sind nur halb konfiguriert, wahrscheinlich durch
Probleme während der ersten Konfiguration. Die Konfiguration sollte mit
dpkg --configure <Paket> oder mit dem Konfigurations-Menüeintrag in
dselect erneut versucht werden:
 postgresql-9.1       object-relational SQL database, version 9.1 server

Für die folgenden Pakete fehlt die MD5-Prüfsummen-Datei in der Datenbank,
sie müssen erneut installiert werden:
 module-init-tools    transitional dummy package (module-init-tools to kmod)

Ich habe keine Ahnung, was ich damit anfangen soll. Kann mir jemand helfen,
das zu beheben?

Vielen Dank im voraus und viele Grüße,
Sebastian


#2

Hallo,

PostgreSQL will nicht starten weil noch eine andere Instanz auf dem Standard-Port 5432 läuft.
Entweder dem ist wirklich so, was man mit netstat und ps herausbekommen kann, oder es liegt noch ein altes PID-file in /var/run/postgresql herum.

Viele Grüße,
Dirk Ahrnke


#3

hallo,
vielen Dank für die Antwort. Also wenn ich das richtig deute, ist der Port 5432 nicht aktiv.
Zumindest taucht ide Nummer nicht in dem Bereich aktive Internetverbindungen bei netstat
auf.

unter /var/run/postgresql findet sich tasächlich eine 8.4-main.pid

Kann ich die löschen?

Viele Grüße,
Sebastian


#4

Hallo,

nur zur Sicherheit:

ein laufender Postgres sieht so aus:

# netstat -tpln | grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2698/postgres tcp6 0 0 ::1:5432 :::* LISTEN 2698/postgres

Ja, wenn die darin stehende Prozess-ID kein laufender postgres ist.

Viele Grüße,
Dirk Ahrnke


#5

Also, das steht bei mir:

# netstat -tpln | grep 5432 tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 3007/postgres tcp6 0 0 :::5432 :::* LISTEN 3007/postgres

Was mach ich jetzt? Sorry, aber ich bin echt ein noob bei Linux…


#6

Erstmal die sanfte Methode:

/etc/init.d/postgresql stop

Wenn das nicht hilft:

kill 3007

Sonst Methode Holzhammer:

kill -9 3007

Kontrolle jeweils wie gehabt mit netstat oder “ps -ef | grep 3007”.
Zum Abschluß ggf. auch das PID-File beräumen.

Viel Erfolg,
Dirk Ahrnke


#7

Die sanfte Methode hat geklapt :slight_smile:

Dann mit “dpkg --configure -a” nochmal gecheckt und UCS hat den Postgre Server neu gestartet.

Tausend Dank für die schnelle Hilfe…