[Gelöst]Von Gestern auf Heute: postgreSQL-Server startet nicht mehr

    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857
      Ich verstehe es nicht. Der PostSQL-Server ist nach Monaten zuverlässigen arbeitens in den Streik getreten. Hat jemand eine Erklärung dafür? Oder kann mir jemand sagen, wie ich meine Datenbank sichern kann?


      Wenn ich den Server manuell starten will kommt folgende Meldung:
      C:\Programme\PostgreSQL\8.3\bin>pg_ctl.exe start -D "C:/ProgrammePostgreSQL/8.3/data" -w warte auf Start des Servers...2010-11-27 23:06:50 CETFATAL: konnte Verzeichnis »pg_tblspc« nicht öffnen: No such file or directory ............................................................konnte Server nicht starten


      Was mir aufgefallen ist, das im 'data'-Verzeichnis kein Unterverzeichnis mit pg_tblspc existiert.

      Verzeichnis von C:\Programme\PostgreSQL\8.3\data

      27.11.2010 23:31 <DIR> .
      27.11.2010 23:31 <DIR> ..
      25.11.2010 23:30 <DIR> base
      25.11.2010 23:38 <DIR> global
      28.03.2010 15:55 17.106 Kopie von postgresql.conf
      28.03.2010 15:55 <DIR> pg_clog
      28.03.2010 15:55 3.141 pg_hba.conf
      28.03.2010 15:55 1.496 pg_ident.conf
      25.11.2010 20:26 <DIR> pg_log
      28.03.2010 15:55 <DIR> pg_multixact
      14.11.2010 16:17 <DIR> pg_subtrans
      28.03.2010 15:55 4 PG_VERSION
      25.11.2010 23:30 <DIR> pg_xlog
      03.11.2010 00:04 17.107 postgresql.conf
      25.11.2010 20:26 85 postmaster.opts

  • 10 Antworten
    • netsrak
      netsrak
      Gold
      Dabei seit: 11.03.2006 Beiträge: 36.831
      Das kann immer mal vorkommen, vor allem nach Windows Updates, Firewall oder Virenscanner Updates.
      Normalerweise hilft folgende Vorgehensweise:


      1. Rechner neu starten
      2. Wenn das nichts hilft versteckte Systemdatei postmaster.pid im Postgresql data Verzeichnis löschen (dazu muss in den Windows Ordneroptionen versteckte Dateien anzeigen aktiviert und Systemdateien ausblenden deaktiviert sein). Danach Rechner nochmal neu starten.

      3. Nächster Versuch: in den Windows Diensten (unter Systemsteuerung->Verwaltung oder über Start -> ausführen->services.msc) die Anmeldeart des Postgresql Dienstes unter "Anmelden" auf "Lokales Systemkonto" umstellen und nochmal neu starten.

      4. Wenn es jetzt immer noch nicht geht scheint ein größeres Problem vorzuliegen. Weitere Tipps im Postgresql Link in meiner Signatur unter Troubleshooting oder bei Holdemmanager in der FAQ: http://faq.holdemmanager.com/questions/91/Can%27t+Connect+%7B47%7D+Failed+to+Start+PostgreSQL+
    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857
      Original von netsrak
      Das kann immer mal vorkommen, vor allem nach Windows Updates, Firewall oder Virenscanner Updates.
      Normalerweise hilft folgende Vorgehensweise:


      1. Rechner neu starten
      2. Wenn das nichts hilft versteckte Systemdatei postmaster.pid im Postgresql data Verzeichnis löschen (dazu muss in den Windows Ordneroptionen versteckte Dateien anzeigen aktiviert und Systemdateien ausblenden deaktiviert sein). Danach Rechner nochmal neu starten.

      3. Nächster Versuch: in den Windows Diensten (unter Systemsteuerung->Verwaltung oder über Start -> ausführen->services.msc) die Anmeldeart des Postgresql Dienstes unter "Anmelden" auf "Lokales Systemkonto" umstellen und nochmal neu starten.

      4. Wenn es jetzt immer noch nicht geht scheint ein größeres Problem vorzuliegen. Weitere Tipps im Postgresql Link in meiner Signatur unter Troubleshooting oder bei Holdemmanager in der FAQ: http://faq.holdemmanager.com/questions/91/Can%27t+Connect+%7B47%7D+Failed+to+Start+PostgreSQL+
      Alles schon versucht. Ich bin schon davon ausgegangen das 4. mein Problem ist.
    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857
      Ich glaube meine Befehlszeile pg_ctl.exe start -D "C:/ProgrammePostgreSQL/8.3/data" -w scheint nicht korrekt zu sein. Wie kann ich den Server manuell über die Console starten? Ich finde überall nur die Befehlszeile für Linux.
    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857

      Microsoft Windows XP [Version 5.1.2600]
      (C) Copyright 1985-2001 Microsoft Corp.

      C:\Dokumente und Einstellungen\admin>net start postgresql-8.3
      PostgreSQL Server 8.3 wird gestartet............................................
      ....
      PostgreSQL Server 8.3 konnte nicht gestartet werden.

      Der Dienst hat keinen Fehler gemeldet.

      Sie erhalten weitere Hilfe, wenn Sie NET HELPMSG 3534 eingeben.


      C:\Dokumente und Einstellungen\admin>net helpmsg 3534

      Der Dienst hat keinen Fehler gemeldet.

      C:\Dokumente und Einstellungen\admin>


      :facepalm: WINDOOF :facepalm:
    • netsrak
      netsrak
      Gold
      Dabei seit: 11.03.2006 Beiträge: 36.831
      Du kannst die Befehlszeile um Postgresql zu starten aus den Diensteigenschaften kopieren, also pg_ctl..... dann musst du noch eine Option ändern und kannst den Postgresql Server dann direkt starten.
      Die genauen Parameter habe ich jetzt auch nicht parat, musst mal googeln.
    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857
      Original von netsrak
      Du kannst die Befehlszeile um Postgresql zu starten aus den Diensteigenschaften kopieren, also pg_ctl..... dann musst du noch eine Option ändern und kannst den Postgresql Server dann direkt starten.
      Die genauen Parameter habe ich jetzt auch nicht parat, musst mal googeln.
      Hatte ich oben angegeben:

      C:\Dokumente und Einstellungen\admin>C:\Programme\PostgreSQL\8.3\bin\pg_ctl.exe start -w -N "pgsql-8.3" -D "C:\Programme\PostgreSQL\8.3\data\"
      waiting for server to start...2010-11-28 20:10:40 CETFATAL: could not open directory "pg_tblspc": No such file or directory
      ............................................................could not start server
    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857
      Um einige Fehler auszuschließen habe ich mal ein Verzeichnis pg_tblspc erstellt und für dem ganzen 'data'-Verzeichnis Vollzugriff für admin gegeben, weil in der Kommandozeile 'admin' den Befahl startet und nicht 'postgres'. Zusätzlich habe ich nochmal das Origianl-verzeichnis entpackt, nachdem ich schon x-mal an der Installation rumgespielt habe. Jetzt kommt folgende Fehlermeldung:


      C:\Dokumente und Einstellungen\admin>C:\Programme\PostgreSQL\8.3\bin\pg_ctl.exe
      start -w -N "pgsql-8.3" -D "C:\Programme\PostgreSQL\8.3\data\"
      warte auf Start des Servers.....................................................
      ..........konnte Server nicht starten
    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857
      Problem gelöst:

      In C:\Programme\PostgreSQL\8.3\data\pg_log\-Logdatei- stand:
      CETFATAL: could not open directory "pg_twophase": No such file or directory

      Nach Erstellen dieses Verzeichnisses in data kann der Server wieder starten. Warum überhaupt dieses Problem aufgetreten ist, ist mir komplett rätselhaft. Eins weiß ich jetzt: Backup machen, Backup machen, Backup machen ...
    • netsrak
      netsrak
      Gold
      Dabei seit: 11.03.2006 Beiträge: 36.831
      Hast du mal ein Tuning Programm laufen lassen, dass z.B. Dateien mit 0 Bytes oder leere Ordner löscht? Das wäre natürlich fatal....
    • fipi77
      fipi77
      Bronze
      Dabei seit: 07.07.2009 Beiträge: 1.857
      Original von netsrak
      Hast du mal ein Tuning Programm laufen lassen, dass z.B. Dateien mit 0 Bytes oder leere Ordner löscht? Das wäre natürlich fatal....
      Nein. Ich habe nichts am Dateisystem oder Datenbank gemacht. Das einzigste was ich gemacht hatte war Crysis Warhead mit dazugehörigen EA Download Manager zu installieren. Ob das allerdings genau in dem Zeitpunkt war wo meine Datenbank ausgestiegen ist kann ich nicht genau sagen.