Installation unter Win 2003 Server/ Fehlende Registry Keys / Environment-Variablen

Hallo,

ich habe hier auf einem neu aufgesetzten Win 2003 Server (64bit Datacenter edition) PG 9.0 installiert, habe bei der Installation 2mal eine Non-Critical Fehlermeldung bekommen. Als Resultat des ganzen lässt sich der Server nicht starten, ausser ich mache es über

pg_ctl start -D “PATH/TO/DATA/”

Dann läuft die DB aber nicht als Dienst, sondern nur in der Konsole.

Im Anhang findet Ihr mein Install-Logfile (habe die UNPACKING-Nachrichten und ein wenig anderen Dunst rausgelassen), ich hoffe jemand kann mir helfen das Problem zu identifizieren.

Die Zeilen “The files belonging to this database system will be owned by user “admin”.This user must also own the server process.” ergeben für mich wenig Sinn, sollte der Dienst nicht eigentlich unter dem dafür vorgesehenen User “postgres” laufen?

Viele Grüße

Seb

Wie genau äussert sich denn das “nicht starten”? Gibt es einen Eintrag im Windows Event Viewer? Ist ein Fehler im Postgres Logfile zu sehen?

Ach ja:

-D “C:/Program Files/PostgreSQL/9.0/data”

ist eine ganz schlechte Idee. Daten haben unter Program Files nichts verloren. Ich vermute mal das ist ein Zugriffsproblem auf dem Verzeichnis

Dachte ich auch! Aber der Postgres-Account hat Vollzugriff auf diesen Ordner…

Hier nochmal im Detail :

  • PG Admin verweigert mir die Connection “Server doesn’t listen”

  • Wenn ich unter dem Account starten möchte, der auf dem Rechner Systemadmin ist, bekomme ich die Fehlermeldung:
    C:\Program Files\PostgreSQL\9.0\bin>pg_ctl start
    pg_ctl: no database directory specified and environment variable PGDATA unset
    Try “pg_ctl --help” for more information.
    Wenn ich zusätzlich den Datenbankordner angebe, geht’s jedoch. Also scheint es schonmal eher am User zu hängen als an der Konfiguration

EDIT : Habe nun auch PGDATA=C:\Program Files\PostgreSQL\9.0\data in die Umgebungsvariablen eingefügt

Windows-Event-Log:Wenn ich den Dienst manuell starten will, werden 3 Einträge erzeugt**.
-** Waiting for server startup…

  • 2011-03-26 13:25:22 CET PANIC: could not open control file “global/pg_control”: Permission denied
  • Timed out waiting for server startup

Die Permissions auf der Datei sind anscheinend defekt gewesen, habe Sie neu erstellen lassen, den User postgres mit Vollzugriff hinzugefügt, aber immer noch nichts neues.
Nun werden bei jedem Versuchten Start nur noch 2 Events erzeugt (Waiting und TimeOut)

C:\Program Files\PostgreSQL\9.0\bin>pg_ctl start

Das kann ja auch nicht funktionieren (da fehlt ja der -D Parameter)

Die Permissions auf der Datei sind anscheinend defekt gewesen, habe Sie neu erstellen lassen, den User postgres mit Vollzugriff hinzugefügt, aber immer noch nichts neues.

Auch an die Unterverzeichnisse gedacht?

Wie sieht denn die Definition des Services aus? Prüf doch mal, ob da das datadir dort korrekt angegeben ist. Ansonsten vielleicht mal den Dienst mit pg_ctl unregister zu löschen und mit pg_ctl register wieder anzulegen.

Nun werden bei jedem Versuchten Start nur noch 2 Events erzeugt (Waiting und TimeOut)

Kein Permission denied?
Starte doch mal eine Kommandozeile als Postgres Benutzer (Rechts Klick -> Run As) und starte dann pg_ctl manuell mit der exakten Kommandozeile wie sie auch im Service konfiguriert ist. Dann kriegst Du vermutlich mehr Infos.

Hi Castorp,

du hast recht bzgl. der Unterverzeichnisse, anscheinend war bei mehreren Unterverzeichnissen der Berechtigungskram im Argen! nun lässt sich der Dienst auch ordnungsgemäß starten…

Vielen Dank!