7
votes

Échec de l'initialisation du cluster de base de données Win 10 PostgreSQL 11

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.


0 commentaires

4 Réponses :


16
votes

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:

BUG # 15856: Le programme "postgres" a été trouvé par "initdb" mais n'était pas de la même version que initdb.

BUG # 15970: Erreur d'initialisation de la base de données - initdb.exe et postgres ne sont pas la même version

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.

Capture d'écran des paramètres de région UTF8


2 commentaires

Comment avez-vous découvert cela? J'aurais passé des jours! Merci beaucoup !!!!


@Andrew - alors vous n'aviez pas le même problème :)



3
votes

Suivez ces étapes pour éviter cette erreur

  1. Désinstaller PostgreSQL
  2. Supprimer si vous avez un utilisateur postgres
  3. Faites un clic droit sur Poste de travail / Ce PC et cliquez sur Gérer jusqu'à Utilisateurs et groupes locaux puis sur Utilisateurs Nouvel utilisateur entrez le nom d'utilisateur comme postgres et le mot de passe (ce que vous voulez) et cliquez sur le bouton Créer .
  4. Maintenant, faites un clic droit sur l'utilisateur postgres et cliquez sur propriétés , cliquez sur l'onglet Membre de puis sur Ajouter cliquez ici, cliquez sur Avancé et une nouvelle boîte de dialogue s'ouvre pour les groupes, cliquez sur Rechercher maintenant et sélectionnez Administrateurs cliquez sur OK bouton.
  5. Maintenant, ouvrez l'invite de commande / cmd
  6. tapez ici runas / user: postgres cmd.exe et appuyez sur Entrée
  7. cd chemin vers le dossier Postgresql téléchargé entrez
  8. postgresql-x.x.x-x-windows.exe entrez (ici x reflète la version, les versions majeures et mineures).
  9. Répétez maintenant l'étape 4 et supprimez le groupe Administrateurs et ajoutez des Utilisateurs avec pouvoir

8 commentaires

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



0
votes

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.


0 commentaires

1
votes

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:

  1. Désinstaller PostgreSQL

  2. Supprimez l'utilisateur postgres s'il existe toujours:

    postgres / suppression de l'utilisateur net

  3. Créez l'utilisateur postgres avec un mot de passe dont vous vous souviendrez:

    net user / add postgres [mot de passe]

  4. Ajoutez l'utilisateur postgres au groupe Administrateurs:

    administrateurs de groupe local net postgres / add

  5. 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

  6. Exécutez une fenêtre de commande en tant qu'utilisateur postgres: (ouvre une nouvelle commande fenêtre):

    runas / utilisateur: postgres cmd.exe

  7. 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

  8. Supprimez l'utilisateur postgres du groupe Administrateurs:

    postgres / suppression d'administrateurs de groupe local net

Voilà. J'espère que c'est utile


0 commentaires