J'ai un nouvel ordinateur portable de Dell (XPS 15), avec Windows 10 Professionnel. J'ai toujours le même problème Lors de l'installation de postgres "Problème lors de l'étape de post-installation. L'installation peut ne pas se terminer correctement. L'initialisation du cluster de base de données a échoué." .
J'ai essayé beaucoup de solutions de fils passés: Installez postgres pas dans les fichiers progam créer un utilisateur nommé postgres avec un accès complet au répertoire postgress, expliqué ici https://www.youtube.com / watch? v = pS_zWDDDSe0 Vérifié les nouvelles mises à jour win Désactivé le pare-feu et l'antivirus de Windows.
Erreur lors de l'exécution de cscript // NoLogo "C: \ develop \ postgres / installer / server / initcluster.vbs" "NT AUTHORITY \ NetworkService" "postgres" "****" "C: \ develop \ postgres" "C : \ develop \ postgres \ data "5432" DEFAULT "0: Programme terminé avec un code de sortie d'erreur Problème lors de l'exécution de l'étape de post-installation. L'installation peut ne pas se terminer correctement L'initialisation du cluster de base de données a échoué. [14:03:49] Supprimer le répertoire des scripts temporaires ... Création de raccourcis de menu ... Exécution de cscript // NoLogo "C: \ develop \ postgres \ installer \ server \ createshortcuts_clt.vbs" "PostgreSQL 11" "C: \ develop \ postgres" Code de sortie du script: 0
MODIFIER LE JOURNAL DES ERREURS
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.
4 Réponses :
Je viens de me débattre avec ça pendant plusieurs heures, donc je publie ceci pour tous les autres qui se retrouvent ici.
Au départ, tout ce que j'ai pu trouver était deux rapports de bogues sur les pgsql-bugs liste de diffusion:
Les symptômes spécifiques sont:
C:\Program Files\PostgreSQL\11\bin>postgres -V WARNING: 01000: could not determine encoding for locale "<some encoding>.utf8": codeset is "CPutf8"
et bien que les versions correspondent, vous obtenez ceci:
The program "postgres" was found by ".../initdb.exe" but was not the same version as initdb.
Si ce sont vos symptômes, le problème est que vous avez votre région / paramètres de langue définis pour utiliser UTF-8 (paramètre bêta). Cela pose des problèmes avec de nombreux programmes, et PostgreSQL est l'un d'entre eux. Désactivez-le et réinstallez-le et tout devrait bien se passer.
Comment avez-vous découvert cela? J'aurais passé des jours! Merci beaucoup !!!!
@Andrew - alors vous n'aviez pas le même problème :)
Suivez ces étapes pour éviter cette erreur
Les versions actuelles de Postgres n'ont pas besoin d'un utilisateur Windows dédié postgres
pour leur installation.
@a_horse_with_no_name Si l'erreur ci-dessus s'est produite, nous devons créer un utilisateur postgres
Non, tu n'es pas obligé
@a_horse_with_no_name Cette solution fonctionne pour moi si vous avez une solution que de la partager ici.
@a_horse_with_no_name ne semble pas être le cas, j'avais besoin de flaffer avec cela dans la version 12 (ajouté mes étapes comme réponse bien que comme Atif crée toujours manuellement un utilisateur). J'adorerais connaître une solution alternative plus simple!
@Andrew: Je n'ai pas créé d'utilisateur Windows postgres
depuis que je pense Postgres 9.2 ou quelque chose autour de ça. Mais alors je n'utilise jamais le programme d'installation, j'utilise les packages ZIP et j'exécute initdb
manuellement
@a_horse_with_no_name ah intéressant va essayer ça la prochaine fois, je pense qu'avec Windows, vous auriez encore besoin de créer un service manuellement?
@Andrew: oui, voir par exemple ici: stackoverflow.com/a/26441939/330315
J'ai regardé les solutions disponibles mais aucune n'a fonctionné pour moi, j'ai donc simplement créé un nouvel utilisateur sur mon bureau Windows 10 et y ai fait l'installation et cela a pu se terminer avec succès.
Je viens d'avoir ce problème avec postgres 12, ma méthode pour le résoudre est similaire à celle d'Atif mais utilise la ligne de commande:
Désinstaller PostgreSQL
Supprimez l'utilisateur postgres s'il existe toujours:
postgres / suppression de l'utilisateur net
Créez l'utilisateur postgres avec un mot de passe dont vous vous souviendrez:
net user / add postgres [mot de passe]
Ajoutez l'utilisateur postgres au groupe Administrateurs:
administrateurs de groupe local net postgres / add
Ignorez ce groupe en tant que groupe qui n'existe plus sur la version 10 et les utilisateurs par défaut doit avoir les autorisations nécessaires - Ajoutez l'utilisateur postgres au Groupe Utilisateurs avec pouvoir
Exécutez une fenêtre de commande en tant qu'utilisateur postgres: (ouvre une nouvelle commande fenêtre):
runas / utilisateur: postgres cmd.exe
copiez le fichier d'installation dans un emplacement accessible par cet utilisateur et exécutez par exemple:
C: \ Download \ postgresql-12.4-1-windows-x64.exe
Supprimez l'utilisateur postgres du groupe Administrateurs:
postgres / suppression d'administrateurs de groupe local net
Voilà. J'espère que c'est utile