habe seit heute ein neues Laptop erhalten, DELL XPS 15 mit Windows 10 Pro. Das Gerät ist unberührt und hat lediglich Dell Software drauf.
Ich versuche bisher unerfolgreich postgresql 11 zu installieren. Während der Installation kommt folgende Fehlermeldung:
Problem running post-install step. Installation may not complete correctly. The Database cluster initialisation failed.
Anschließend habe ich mir einige Stackoverflow-Threads angeschaut und habe folgende Lösungen versucht:
Postgres nicht in Programme installiert.
Einen postgres Benutzer in Windows erstellt und die Zugriffsrechte für den Installationspfad von Postgres modififziert wie in diesem Video gezeigt → https://www.youtube.com/watch?v=pS_zWDDDSe0
Alle Updates installiert die Windows derzeit zu bieten hat.
Firewall und Antivirus von Windows selber deinstalliert.
Nichts davon hat Erfolg gebracht, die Fehlermeldung während der Installation ist immer die selbe:
problem running post install step database cluster initialisation failed
Der Log gibt folgendes heraus:
Error running cscript //NoLogo
“C:\develop\postgres/installer/server/initcluster.vbs”
“NT AUTHORITY\NetworkService” “postgres”
“****” “C:\develop\postgres”
“C:\develop\postgres\data” 5432
“DEFAULT” 0: Program ended with an error exit code Problem running post-install step. Installation may not complete correctly The database cluster initialisation failed. [14:03:49] Delete the temporary scripts directory… Creating menu shortcuts… Executing cscript //NoLogo “C:\develop\postgres\installer\server\createshortcuts_clt.vbs” “PostgreSQL 11”
“C:\develop\postgres” Script exit code: 0
Executing batch file ‘radAD31B.bat’…
The program “postgres” was found by
“C:/develop/postgres/bin/initdb.exe”
but was not the same version as initdb.
ZIP Archiv auspacken, in Deinem Fall z.B. nach C:\develop - da entsteht dann ein Unterverzeichnis namens pgsql, das kannst Du dann zu “postgres” umbennen
Data-Directory (auch unter dem Namen “Cluster” bekannt) via initdb manuell anlegen, z.B.:
Wenn der Service nicht startet, liegt’s meistens an falschen Berechtigungen für das Datenverzeichnis. Die kannst Du dann über die “Eigenschaften” des Verzeichnisses anpassen.
Versuch nal folgendes.
1)
Öffne Windows Commandprompt als Admin
2)
tippe ein cd (dein Posgtres install ordner und darin dein bin ordner)
3)
Tipp e ein initdb.exe und bestätige mit ENTER
Was bekommst Du für eine Meldung?
Wenn da was steht wie msvcr120.dll not found oder ähnlich dann installier mal
Gerade die Version von BigSQl 64 bit auf Win10 pro, nicht unberührt, nicht Dell getestet.
Habe probehalber eine Tabelle angelegt geht. Installation lief mit PGadmin 3, der fürchterlich meckert bei der Installation und beim Start und Betrieb.
Keine “advanced” Optionen gewählt, bestehende Installation wurde erkannt und automatisch anderer Port gewählt.
Auf dem Rechner sind ein paar übliche Softwaren drauf, Libre Office, diverse Browser, Thunderbird, …
Dadurch “geerbt” alle MS Visual C++ redistributables von 2005 bis 2015 meist in 32 und 64 bit.
Die genannte Installation behauptet laut Webseite von sich, dass sie mit Win10 pro nicht getestet wurde, wenn ich das richtig sehe.
Erst einmal ein Dank an euch für die Antworten. Ich werde die Sachen testen und nochmals berichten.
Was ich ebenfalls schon probiert hatte, auch ohne Erfolg:
Sobald ich dann aber die Datenbank initialisieren möchte manuell, spuckt er mir den selben Fehler aus wie oben als letztes angehängt:
“C:/develop/postgres/bin/initdb.exe”
but was not the same version as initdb.
Also ich befürchte eher dass irgend eine Dell Software dort interveniert, denn auf zwei Geräten des selben Modells funktioniert es nicht.
EDIT:
Auf meinem Arbeitslappi habe ich Windows Enterprise drauf und dort funktioniert Postgres11 ohne Probleme, konnte das sogar ganz normal in den Ordner Programfiles installieren. Bei meinen Arbeitskollegen die mit ähnlichen Geräten(Lenovo) ausgestattet sind, ebenfalls mit Win-Enterprise bestehen keine Probleme dieser Art.
Kannst Du das Verzeichnis c:\Develop\Postgres (und alle Unterverzeichnisse) als Ausnahme hinzufügen, so dass der Virenscanner alle Dateien dort ignoriert?
Kann eigentlich nicht sein, zur Datenbank ist es nie gekommen. Ich habe derzeit auch keine Version installiert sondern nur wie oben beschrieben dort entpackt und die Schritte versucht. Aber selbst wenn ich in ein anderes Verzeichnis gehe und die oben genannten Versuche starte, kommt immer diese dbinit Fehler.
Wenn ich die cmd aufrufe und dort nur postgres eintippe kommt dort ein Fehler:
C:\Users\Admin>postgres
WARNING: 01000: could not determine encoding for locale “English_Germany.utf8”: codeset is “CPutf8”
LOCATION: pg_get_encoding_from_locale, d:\pginstaller.auto\postgres.windows-x64\src\port\chklocale.c:416
FATAL: XX000: postgres: could not locate matching postgres executable
LOCATION: getInstallationPaths, d:\pginstaller.auto\postgres.windows-x64\src\backend\postmaster\postmaster.c:1456
Wenn ich das mit meinem anderen Lappi versuche, kommt lediglich der Hinweis dass die Serverkonfig nicht zu finden ist.
Offensichtlich hast Du noch irgendwo eine andere Postgres Installation deren “bin” Verzeichnis im Pfad liegt.
Was liefert denn
where initdb
Wenn es da tatsächlich noch irgendwo eine andere Installation gibt, dann entferne das Verzeichnis doch mal aus dem PATH und versuche die Installation nochmal.
Oder versuche die manuellen Schritte (also ohne Installer) wie in meinem ersten Beitrag beschrieben mit absoluten Pfaden, damit eine im PATH liegende Installation nicht dazwischen pfuscht.
Im Übrigen: postgres.exe sollte man nie direkt aufrufen. Starten sollte man den Server immer mit pg_ctl.exe
Das sieht aus als ob Du bei deinem Windows 10 Die Region/Locale Einstellungen auf UTF-8 (BETA-Feature) eingestellt hat.
Wenn dem so ist, mach es wieder aus. Es gibt eine ganze Reihe Programme die damit nicht zurecht kommen, ink. MS-SQL-Server.
Noch mal zu initdb. Das einzige was dieses Ding macht, ist eine Ordner/Dateistruktur zu erstellen.
Wie es ausschaut, hast Du deine Installation ja nicht mal unter C:\Program Files*.* liegen, sondern C:\ irgendwas,
also liegt es definitiv nicht an fehlenden Dateirechten.
Mach mal foldendes. Gehe mit Adminrechten in deinen Postgres Ordner und gebe vorher chcp 1252 + ENTER ein und dann
SET PGDATA=C:\DeinPostgres\DATA Verzeichnis an. Benenne den DATA Ordner um oder lösche ihn, denn Du musst ja nichts
sichern wenn Du eine Neuinstallation durchführst. Schau mal ob initdb.exe jetzt vernünftig durchläuft.
Neben dem grafischen Installer von BigSQL gibt es ja auch noch die Kommandozeilen Version, die wesentlich “lokaler” arbeitet, vielleicht funktioniert’s ja mit der:
c:\temp>powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://s3.amazonaws.com/pgcentral/install.ps1'))"
Downloading BigSQL PGC 4.0.7 ...
Unpacking ...
Setting REPO to https://s3.amazonaws.com/pgcentral
Updating Metadata
--- New components & extensions released in the last 30 days ---
Category | Component | Version | ReleaseDt | Status
PostgreSQL pg10 10.7-1 2019-02-14 not installed
PostgreSQL pg11 11.2-1 2019-02-14 not installed
PostgreSQL pg94 9.4.21-1 2019-02-14 not installed
PostgreSQL pg95 9.5.16-1 2019-02-14 not installed
PostgreSQL pg96 9.6.12-1 2019-02-14 not installed
---------- Components available to install or update ------------
Category | Component | Version | ReleaseDt | Status | Updates
PostgreSQL pg10 10.7-1 2019-02-14
PostgreSQL pg11 11.2-1 2019-02-14
PostgreSQL pg94 9.4.21-1 2019-02-14
PostgreSQL pg95 9.5.16-1 2019-02-14
PostgreSQL pg96 9.6.12-1 2019-02-14
Applications pgadmin3 1.23.0b 2017-06-08
Frameworks perl5 5.20.3.3 2016-03-14
Frameworks python2 2.7.11-4 2016-01-18
Frameworks python37 3.7.1-2 2018-10-27
Frameworks tcl86 8.6.4-1 2016-03-11
BigSQL PGC installed.
Try 'bigsql\pgc help' to get started.
c:\temp>cd bigsql
c:\temp\bigsql>pgc install pg11
['pg11']
Get:1 https://s3.amazonaws.com/pgcentral pg11-11.2-1-win64
Unpacking pg11-11.2-1-win64.tar.bz2
c:\temp\bigsql>pgc init pg11
## Initializing pg11 #######################
Superuser Password [password]:
Confirm Password:
Setting directory and file permissions.
Bearbeitete Datei: c:\temp\bigsql\data\pg11
1 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler aufgetreten.
setting permission to log dir
Bearbeitete Datei: c:\temp\bigsql\data\logs\pg11
1 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler aufgetreten.
Initializing Postgres DB with:
c:\temp\bigsql\pg11\bin\initdb -U postgres -A md5 -E UTF8 --no-locale -D "c:\temp\bigsql\data\pg11" --pwfile="c:\temp\bigsql\pg11\.pgpass" > "c:\temp\bigsql\data\logs\pg11\install.log" 2>&1
Using PostgreSQL Port 5433
Password securely remembered in the file: C:\Users\someusername\AppData\Roaming\postgresql\pgpass.conf
to load this postgres into your environment, run the env file:
c:\temp\bigsql\pg11\pg11-env.bat
c:\temp\bigsql>pg11\pg11-env.bat
c:\temp\bigsql>pgc start pg11
pg11 starting on port 5433
c:\temp\bigsql>psql -U postgres
psql (11.2)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
postgres@localhost/postgres> \q
c:\temp\bigsql>pgc stop pg11
pg11 stopping
c:\temp\bigsql>