pg_ctl startet nicht mehr

Moin zusammen!

Ich weiß nicht, was der Kunde ständig mit seinem PC macht, vermutlich nie richtig runterfahren. Aber seit heute habe ich eine Fehlermeldung mit der ich nichts anfangen kann.

beim starten:

pg_ctl start -D "c:\programme\postgresql\8.0\data\"

Kommt folgende Fehlermeldung:

2006-08-22 15:28:19 PANIC:  could not read from control file: Permission denied

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Im Web habe ich noch nichts gefunden, hat noch jemand einen Rat?

Achja, das System: WinXPpro

Hallo Dusty,

eine Ursache für die Fehlermeldung kanst Du in dieser Datei finden, wenn Du nach “could not read from control file” suchst.

http://jonathangardner.net/PostgreSQL/doxygen/7.4.2/xlog_8c-source.html

Andererseits besagt “Permission denied”, dass der User, mit dem Du den Datenbankserver startest, auf das “control file” keine Zugriffsrechte hat.

Sieht nach einem klassischen Abschuss aus. Bekommt man aber auch mit UNIX hin.



mfg

fristo

Moin fristo,

danke für deine Hilfe. Jetzt bin ich zwar schon weiter als gestern, allerdings weiß ich noch nicht so genau, wie ich das Problem beheben kann (unser DB-Experte ist leider z.Z. in Urlaub) und mit PostgreSQL arbeiten wir noch nicht so lange.

Leider weiß ich nicht was unser Kunde ständig mit seinem PC macht. Ich gehe davon aus, daß sich der PC häufig aufhängt. Schon 2mal mußte ich “Invalid PID” korrigieren.

Das der Benutzer an den Sicherheitseinstellungen (bzw. Freigaben) der Dateien oder Verzeichnisse manipuliert, halte ich für unwahrscheinlich.

In der Regel wird der Server über die Dienste gestartet (was bereits länger bei dem Kunden läuft) Als Dienst-Benutzer ist der entsprechende (NICHT-Administrator-Benutzer “db”) mit korrektem Passwort hinterlegt. Da sich der Dienst aber nicht starten ließ habe ich ihn unter diesem Benutzer den “pg_ctl” eintippen lassen.

Falls es was nützt, hier die letzte Meldung der Logdatei, die ich bekommen habe:

2006-08-22 07:07:40 LOG: database system is ready
2006-08-22 12:53:16 LOG: unexpected EOF on client connection
2006-08-22 12:53:16 LOG: unexpected EOF on client connection
2006-08-22 12:53:19 LOG: unexpected EOF on client connection
2006-08-22 12:53:21 LOG: unexpected EOF on client connection
2006-08-22 12:53:21 LOG: unexpected EOF on client connection
2006-08-22 12:53:21 LOG: unexpected EOF on client connection
2006-08-22 12:53:21 LOG: unexpected EOF on client connection
2006-08-22 12:53:21 LOG: unexpected EOF on client connection
2006-08-22 13:23:28 PANIC: could not write to control file: Permission denied

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.
2006-08-22 13:23:35 LOG: background writer process (PID 1500) was terminated by signal 3
2006-08-22 13:23:35 LOG: terminating any other active server processes
2006-08-22 13:23:35 WARNING: terminating connection because of crash of another server process
2006-08-22 13:23:35 DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2006-08-22 13:23:35 HINT: In a moment you should be able to reconnect to the database and repeat your command.
2006-08-22 13:23:35 LOG: all server processes terminated; reinitializing
2006-08-22 13:23:48 PANIC: could not read from control file: Permission denied

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information.
2006-08-22 13:23:49 LOG: logger shutting down

Hallo Dusty,

Ich kann Dir keine genaue Lösung bieten, weil ich die genauen Details nicht kenne. Der Extremfall heißt, Datenbank neu installieren und letzte Sicherung einspielen.


Ein Blick in die Ereignisanzeige kann hier weiter helfen. Sollte sie von roten und gelben Farben nur so glänzen, würde ich das mal den Kunden zeigen und ihm erklären was da hinter steckt.


Hat er auch nicht gemacht.

Nach Deiner Beschreibung sehe ich den Hauptgrund in einem nicht sauber arbeitenen Betriebssystem, wobei MS mit Sicherheit nicht der Schuldige ist. Die Meldungen in der Ereignisanzeige sollten eine gute Argumentationhilfe sein, dass der Kunde bereit ist, etwas dagegen zu unternehmen.

Interessant ist auch der Zeitpunkt der ersten Fehlermeldung: “2006-08-22 12:53:16”. Sieht aus, als wenn die Mittagspause zu Ende geht. Die Ereignisanzeige sollte auch Aufschluss darüber geben, welche Programme in der Zeit gestartet wurden.

Wenn Du folgenden Text in eine Suchmaschine im Internet eingibts, erhältst Du eine große Anzahl von Artikel zu der Fehlermeldung. Vielleicht gibt es da noch etwas Neues.

postgresql “unexpected EOF on client connection”

mfg

fristo

Moin nochmal!

Danke nochmal an die Hilfe hier. Das Problem hat sich erledigt.

Ursache: die Festplatte war dermaßen hinüber. Div. Dateien aus dem Postgres-Order lagen auf defekten Sektoren.

Nach einem Scandisk ließ sich der Postmaster zwar wieder starten aber die Daten aus der DB waren defekt.

Problem erledigt, kann geschlossen werden.