Installation von PostgreSQL unter Windows scheitert oder funktioniert nicht

Ursache hierfür ist ein Rechteproblem des Administrators während der Installation [ATTACH]17[/ATTACH], und nicht das Installationsscript von PostgreSQL!



Grundsatzfrage: Wurde die richtige binäre Version installiert?
Hier gibt es die aktuelle binäre Version von PostgreSQL für LINUX und WINDOWS.



Unbedingte Voraussetzungen für eine erfolgreiche Installation sind:

  • ein sauber installiertes und gepflegtes Betriebssystem, welches das aktuelle Service-Pack und alle wichtigen Updates enthält
  • ein Account mit vollen Rechten wie sie der Windows-Administrator besitzt
  • die Harddisk (Partition) muss NTFS formatiert sein

Wie die meisten Programme muss auch PostgreSQL unter dem Benutzer Administrator oder einen Benutzer, der die vollen Rechte des Administrators hat, installiert werden. Während der Installation werden u. a. der (Default-) Benutzer ‘postgres’ angelegt, dem Benutzer ‘postgres’ in bestimmten Verzeichnissen erweiterte Rechte sowie das alleinige Recht zum Starten des Dienstes des Datenbankservers (PostgreSQL) erteilt. Der (Default-) Benutzer ‘postgres’ ist nicht zu verwechseln mit dem Administrator der Datenbank (“Name des Su…” im Installations-Dialog).



Programme, welche die Rechte eines Administrators beschneiden können
Zu nennen sind hier z. B. Firewalls oder auch Anti-Viren-Programme. Eventuell sind diese während der Installation von PostgreSQL vorübergehend zu deaktivieren / deinstallieren.



Einzelplatz-Computer
Ein Rechte-Problem für den Administrator sollte es hier nicht geben, außer sie werden durch andere hier beschriebene Ursachen eingeschränkt.



Firmennetzwerk
Zu beachten ist hier, dass die Rechte (Policy) des Administrators auf dem lokalen Computer von der Administration auf dem Domain-Computer hinterlegt sind. Man sollte sich daher vor der Installation von PostgreSQL bei der Administration erkundigen, ob der lokale Administrator die Rechte eines Administrators wie auf einem Einzelplatz-Computer hat. Ist dieses nicht gewährleistet, werden die Installation und/oder der Betrieb von PostgreSQL fehlschlagen. So kann es durchaus vorkommen, dass man PostgreSQL installieren und betreiben kann, nach dem nächsten Boot des Betriebssystems der PostgreSQL-Server nicht mehr vom Benutzer ‘postgres’ gestartet werden kann. Ursache: Der Benutzer ‘postgres’ ist in der Domain nicht bekannt und hat daher auch keine Rechte. Da die Domain übergeordnet ist, zählen die Rechte auf dem lokalen Computer nicht!



Gepflegtes Betriebssystem
Wer ständig neue Programme installiert und wieder deinstalliert sollte nicht davon ausgehen, dass er ein gepflegtes Betriebssystem hat. Nicht alle Scripte für die Installation von Programmen sind sauber programmiert und viele Scripte für die Deinstallation deinstallieren nur das notwendigste und stellen nicht den Zustand vor der Installation wieder her. Auch hierdurch kann es zu Problemen bei der Installation von Programmen kommen. In diesem Fall hilft nur noch das Betriebssystem neu zu installieren.



Windows-Vista
Das deaktivieren des UAC (User Account Control) hilft hier weiter: Benutzer-Konten-Steuerung (UAC) deaktivieren/aktivieren oder UAC per Kommandozeile deaktivieren. Es gibt auch ein kleines Tool: TweakUAC.



Die Installation ist gescheitert, was ist zu tun?
Zunächst sollte man sich die Log-Datei anschauen um die Ursache des Scheiterns der Installation festzustellen. Anzumerken ist, dass die letzte Fehlermeldung nicht die Ursache beschreibt, sondern ein Folgefehler ist. Die eigentliche Fehlermeldung findet man in der Regel weit vor der letzten Fehlermeldung.

Die häufigste Fehlermeldung wird wohl lauten “Scheitere beim Start von initdb” oder ähnlich. Diese deutet auf fehlende Rechte des Administrators bei der Installation hin. Danach gilt es die Ursache für die fehlenden Rechte des Administrators herauszufinden. Die obigen Kapitel sollten bei der Bestimmung der Ursache dabei hilfreich sein.

Bevor man den erneuten Versuch einer Installation von PostgreSQL startet, sollte man den Beitrag Entfernen (De-Installation) von PostgreSQL unter Windows durchlesen. Bis zum Abbruch der Installation können schon verschiedene Verzeichnisse und Einträge angelegt worden. Die sollten gelöscht werden, damit wieder die Ausgangsbasis wie vor dem Start der Installation hergestellt ist.