Postgresql startet nicht mehr

Hallo Forum,
ich hoffe solch ein problem wurde noch nicht behandelt immer hin habe ich nichts gefunden…

folgendes Problem:
Ich habe bei uns in der firma die aufgabe gekriegt eine migration von unserer Postgresql Datenbank mithilfe von skripten zu testen.

dazu habe ich eine Testumgebung und testDatenbank benutzt. (zum glück)

auf dieser Testumgebung gab es schon Datenbanken die nicht so wichtig sind.

nach dem der skript drüber gelaufen ist funktionierte nichts mehr.
beim aufruf von psql -l kommt:

psql: konnte nicht mit dem Server verbinden: Datei oder Verzeichnis nicht gefunden
Läuft der Server lokal und akzeptiert er Verbindungen
auf dem Unix-Domain-Socket »/var/run/postgresql/.s.PGSQL.5432«?

diese fehlermeldung kommt auch beim dropdb versuch. ich habe gehört das postgresql sich GAR nicht hoch fahren lässt wenn auch nur EINE DB korrupt ist. Stimmt das ? :confused:

Das Postgresql laüft auf einer linux-umgebung.
Ich habe nach den Ordnern gesucht die die Datenbanken enthalten.
Meine DB heißt migratest, ich vermute aber schwer das der Ordner niemals so oder ähnlich heißen wird.
nach ner google runde hab ich mehrere Ordner in /var/lib/postgresql/8.1/main/base gefunden.

-Gibt es eine möglichkeit herauszufinden welcher ordner zu welcher datenbank gehört? (wenn das überhaupt die Ordner sind) um sie dann von hand zu löschen.

Ein Auszug aus der logfile:

2009-01-28 18:27:38 CET LOG: Datenbanksystem wurde nicht richtig heruntergefahren; automatische Wiederherstellung läuft
2009-01-28 18:27:38 CET LOG: Redo beginnt bei 1/7B009FB0
2009-01-28 18:27:40 CET LOG: konnte Datei »pg_xlog/00000001000000010000007F« nicht öffnen (Logdatei 1, Segment 127): Datei oder Verzeichnis nicht gefunden
2009-01-28 18:27:40 CET LOG: Redo fertig bei 1/7EFFFF88
2009-01-28 18:27:40 CET PANIK: konnte nicht in Datei »pg_xlog/xlogtemp.1913« schreiben: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
2009-01-28 18:27:40 CET LOG: Start-Prozess (PID 1913) wurde von Signal 6 beende t
2009-01-28 18:27:40 CET LOG: Serverstart abgebrochen wegen Start-Prozess-Fehler

Daraus entnehme ich das dass 1. nicht richtig heruntergefahren wurde und 2. die wiederherstellung nichts machen konnte weil kein platz darauf war.

Ich habe etwas platz gemacht (ca. 300mb) nicht viel aber mehr ging net und die virualisierung neugestartet in der hoffnung dass die wiederhestellungsdingsda alles repariert. Natürlich hat es nicht geklappt.

Hat einer von euch eine Idee was man da probieren könnte.
Ich habe daran gedacht psql zu löschen und neuzuinsallieren aber ich denke (& hoffe) dasss es evtl eine sauberere Lösung gibt. (falls das überhaupt möglich ist)

PS: am liebsten würde ich gern die Datenbank migratest löschen doch wie schon oben gesagt gibt der befehl dropdb auch die Fmeldung aus. kann ich die DB migratest nicht irgendwo von Hand löschen??

ich bedanke mich im Voraus für Antworten :astonished: / Abweisungen :astonished:

(ich hoffe dass der thread an der richtigen stelle ist.)

…so
jetzt tun meine finger weh…

Mit freundlichem Gruß


slimboyslim

Soll ich es vorlesen?

Andreas

nä nicht volrlesen aber wenn du helfen willst ZUENDE LESEN!

Jetzt mal ernsthaft Das Platzprob wurde behoben was das angeht meckert postgresql nicht mehr. nur wie krieg ich das wieder ans laufen??? von mir aus schreddere ich meine DB migration nur wo ist die ??? und geht das ohne ‘dropdb??’

Um einzelne Datenbanken herauszulöschen musst du die Datenbank erst mal starten.

Das funktioniert offensichtlich - wie vorgelesen - nicht, weil die Festplatte voll ist.

Wie wäre es, wenn du ein bischen Speicherplatz schaffst und es dann noch mal versuchst?

reichen 300 mb freier platz nicht aus??? das ist eine debian linux und kein Vista. mit 300MB konnt ich sie gestern noch starten.

aber ich versuch noch was frei zumachen.

Ich weiß ja nicht, wo genau die 300 MB frei sind …

Oh, und beachte bitte, das Unix Filesysteme eine Reserve für root übrig lassen. Selbst wenn du also 300 MB frei hast, kann das zu wenig sein um als normaler Benutzer (PostgreSQL läuft unter einem normalen Account) noch Dateien zu erstellen.

Das sind dann aber schon Grundlagen Systemadministration …

thx. eigentlich sind 380 mb frei -80 ~ca pi mal Daumen geschätzt für user abgezogen ich denke mehr nimmt linux net. deswegen dass mit 300 … mitlerweile sind 500 mb frei das klappt immer noch net.

Ich werde eine andere virtualisierung bekommen :S (was mir gar nicht gefällt weil das prob immer noch da ist) :angry:

eventuelle Notlösung : kann ich nicht ganz grob postgresql löschen und alle DB´s gleich mit. geht das? z.B. mit apt. ich frag lieber bevor ich das versuch.


Wichtiger : gibt es keine sauberere lösung?

Ist die Fehlermeldung immer noch die gleiche?

ja hier ist die nocheinmal

psql: konnte nicht mit dem Server verbinden: Datei oder Verzeichnis nicht gefunden
Läuft der Server lokal und akzeptiert er Verbindungen
auf dem Unix-Domain-Socket »/var/run/postgresql/.s.PGSQL.5432«?

Das ist aber nun eine andere, bzw. nicht das Log. Offensichtlich startet der Server nicht, ob noch immer Speicher fehlt oder was anderes ihm weh tut, steht im Log.

Andreas

Das ist die Fehlermeldung, die der Client ausgibt.

Was ist mit dem Log der Datenbank? Das ist das einzig interessante.


Btw, mal ernsthaft: wer ist für die Datenbanken in der Firma zuständig?
Es kann nicht sein, dass du dich um Aufgaben der Systemadministration kümmern musst, obwohl du darin keine Erfahrung hast. Kannst du mal bitte den zuständigen aufräumen lassen und dann mit deinen Skripts von vorn beginnen?

ooje tut mir leid.

2009-01-29 13:15:35 CET LOG: konnte Root-Zertifikat-Datei »root.crt« nicht la den: No SSL error reported
2009-01-29 13:15:35 CET DETAIL: Client-Zertifikate werden nicht überprüft wer den.
2009-01-29 13:15:35 CET LOG: konnte IPv6-Socket nicht erstellen: Die Adressfami lie wird von der Protokollfamilie nicht unterstützt
2009-01-29 13:15:35 CET LOG: Datenbanksystem wurde am 2009-01-29 09:12:26 CET w ährend des Herunterfahrens unterbrochen
2009-01-29 13:15:35 CET LOG: Checkpoint-Eintrag ist bei 1/7B2B0160
2009-01-29 13:15:35 CET LOG: Redo-Eintrag ist bei 1/7B009FB0; Undo-Eintrag ist bei 0/0; Shutdown FALSE
2009-01-29 13:15:35 CET LOG: nächste Transaktions-ID: 13579401; nächste OID: 298014
2009-01-29 13:15:35 CET LOG: nächste MultiXactId: 35; nächster MultiXactOffse t: 78
2009-01-29 13:15:35 CET LOG: Datenbanksystem wurde nicht richtig heruntergefahr en; automatische Wiederherstellung läuft
2009-01-29 13:15:35 CET LOG: Redo beginnt bei 1/7B009FB0
2009-01-29 13:15:35 CET PANIK: konnte Relation 1663/175797/175879 nicht erstell en: Die Datei existiert bereits
2009-01-29 13:15:35 CET LOG: Start-Prozess (PID 1177) wurde von Signal 6 beende t
2009-01-29 13:15:35 CET LOG: Serverstart abgebrochen wegen Start-Prozess-Fehler
schroeder:/var/log/postgresql# less postgresql-8.1-main.log
2009-01-29 13:15:35 CET LOG: konnte Root-Zertifikat-Datei »root.crt« nicht laden: No SSL error reported
2009-01-29 13:15:35 CET DETAIL: Client-Zertifikate werden nicht überprüft werden.
2009-01-29 13:15:35 CET LOG: konnte IPv6-Socket nicht erstellen: Die Adressfamilie wird von der Protokollfamilie nicht unter
stützt
2009-01-29 13:15:35 CET LOG: Datenbanksystem wurde am 2009-01-29 09:12:26 CET während des Herunterfahrens unterbrochen
2009-01-29 13:15:35 CET LOG: Checkpoint-Eintrag ist bei 1/7B2B0160
2009-01-29 13:15:35 CET LOG: Redo-Eintrag ist bei 1/7B009FB0; Undo-Eintrag ist bei 0/0; Shutdown FALSE
2009-01-29 13:15:35 CET LOG: nächste Transaktions-ID: 13579401; nächste OID: 298014
2009-01-29 13:15:35 CET LOG: nächste MultiXactId: 35; nächster MultiXactOffset: 78
2009-01-29 13:15:35 CET LOG: Datenbanksystem wurde nicht richtig heruntergefahren; automatische Wiederherstellung läuft
2009-01-29 13:15:35 CET LOG: Redo beginnt bei 1/7B009FB0
2009-01-29 13:15:35 CET PANIK: konnte Relation 1663/175797/175879 nicht erstellen: Die Datei existiert bereits
2009-01-29 13:15:35 CET LOG: Start-Prozess (PID 1177) wurde von Signal 6 beendet
2009-01-29 13:15:35 CET LOG: Serverstart abgebrochen wegen Start-Prozess-Fehler

diese sache mit dem nicht richtig heruntergefahren versteh ich nicht.
Ausserdem ist das die aktuellste log ?!? :astonished: 13:15
name des logs ist postgresql-8.1-main.log das müsste die aktuellste sein.

Hmm da ist einiges durcheinander geraten, wie es aussieht. Offensichtlich konnten da schon bei einem vorherigen Recovery keine Dateien erstellt bzw. Daten geschrieben werden.

So, an dieser stelle wäre es das einfachste, das letzte Backup einzuspielen. Man könnte versuchen, das Problem von Hand zu beheben, aber dafür sollte man etwas mehr Erfahrung mit den Internas der Datenbank haben.

Wie gesagt, am besten du reichst das an die zuständige Person in eurem Unternehmen weiter.

hehe. das wäre ja zu einfach^^ der einzige der bei uns etwas ahnung davon hat ist nicht da. kommt erst nexte woche.

Das ist alles nur aus testzwecken nexte woche wird richtig migriert ich sammle nur erfahrung. um schon mal zu wissen wo probs auftauchen werden.

wie gesagt ich solls jetzt auf ner anderen virtualisierung (mit mehr etwas mehr platz^^) versuchen. wenn die fehlermeldung wieder auftauchen sollte heule ich…

ich arbeite jetzt nebenbei an beide virtualisierungen erstens google ich nach dem prob weiter zweitens versuch ich alles nochmal wo anders.

mfg und herzlichen dank für eure mühe

Slimboyslim