Installation von PostgreSQL 17 - Cluster initialisation failed

Ich habe anscheinend ein Problem damit PostgreSQL 17 zu installieren, da es immer fehlschlägt.

Nachdem die Installation, scheinbar ohne Probleme, durchgelaufen ist, bekomme ich kurz vor ende des Install-Wizard’s eine Fehlermeldung:

"The Database Cluster initialisation failed."

Wenn ich PostgreSQL 17 dann wieder de-installieren will, bekomme ich ebenfalls die Meldung, das der Service von postgres nicht korrekt gestoppt und gelöscht werden konnte.

"Error stopping service postgresql-x64-17"
"Error deleting service postgresql-x64-17"

Diese Services kann ich allerdings, wenn ich mir die laufenden Services anschaue, vor de de-Installation nicht finden.

Ich habe hier bereits alle PostgreSQL Versionen de-installiert.
Mehrmals habe ich auch die Installation mit verschiedenen rechten gestartet, und der Computer wurde natürlich auch mehrfach neu gestartet.

Ich habe auch versucht die DB per Powershell, nach der Installation, zu starten, aber hierbei findet er die Skripte/exe Dateien nicht, bzw erkennt er den Befehl nicht.

Wenn ich pgAdmin 4 starte, nach der Installation, wird mir nur ein 9.6 Server angezeigt, obwohl ich jede PostgreSQL Version deinstalliert habe.

Statt des Installer’s habe ich auch bereits nur die .zip heruntergeladen, und damit versucht Postgres zum laufen zu bekommen, hier läuft es aber auf die selben Fehler hinaus.

Ich bin ebenfalls einigen Tipps gefolgt, und habe so zb. einen postgres User mit Adminrechten angelegt, aber auch das ohne Erfolg.

Ich bin leider Ratlos wie/wo ich hier weiter nach dem Fehler suchen kann, vor allem da sich PostgreSQL 9.6 fehlerfrei neu Installieren lässt, ich habe keine weitere Version getestet, aber die 9.6 läuft ohne Probleme.

Einen Service kann ich unter Windows ebenfalls nicht finden, ich habe ebenfalls die jeweiligen Befehle im Terminal, in PowerShell, und in GitBash ausgeführt, in der Hoffnung das PostgreSQL nur nicht unterstützt wird, dies blieb allerdings auch erfolgslos.

Der Versuch Log’s der Installation/Startups zu finden schlug ebenfalls fehl, der “data” Ordner ist leer, und der “Log’s” Ordner den ich gefunden habe, enthielt nur Templates und keine richtigen Log-Files.

Ich nutze ein 64bit-Windows11 System.

Das ist mit einer der Gründe warum ich den Installer nicht verwende - und weil er sehr lange darauf bestanden hat das Datenverzeichnis nach c:\Programme zu legen was absoluter Blödsinn ist. Das sollte man schon seit Windows NT nicht mehr machen. Spätestens seit Windows 7 ist dafür %ProgramData% vorgesehen.

ZIP runterladen, auspacken und dann initdb manuell ausführen. Berechtigungen auf dem Datenverzeichnis setzen und mit pg_ctl den Windows Service anlegen. Dauert auf der Kommandozeile ein paar Minuten. Wenn was schief geht, sieht man auch gleich eine vernünftige Fehlermeldung.

Da initdb gescheitert ist, kann der Service ja gar nicht starten - wegen fehlendem Datenverzeichnis.

Wenn Du die Service Definition anschaust, siehst Du wo das Datenverzeichnis ist. Ich würde also initdb einmal manuell auf der Kommandozeile ausführen und das konfigurierte Datenverzeichnis dabei angeben. Dann kriegst Du vermutlich eine sinnvolle Fehlermeldung.

Falls das Datenverzeichnis wirklich unter c:\Programme liegt, dann würde ich das wo anders hinlegen.

2 „Gefällt mir“

Ich habe 17 noch nicht unter Windows installiert. Werde ich wahrscheinlich auch nie tun, deswegen alles nur Theorie.
Ah, und während ich schreibe hat castorp schon geantwortet.

Ich würde mal so ergänzen:
Die Installation funktioniert, aber das Anlegen des Clusters nicht. Es sind unter Windows fast immer Rechte Probleme bei den Standard Verzeichnissen.

Du müsstest also nichts deinstallieren, sondern die fehlenden Commandos zu Fuß ausführen. Wo die Installation die Logs hinschreibt, weiß ich nicht.
Naheliegend wäre unter Windows ein Blick in die “Ereignisse” zu werfen…