web-dev-qa-db-fra.com

Échec du chargement des modules SQL dans le cluster de bases de données lors de l'installation de PostgreSQL

J'ai essayé d'installer PostgreSQL 9.4 et 8.4 plusieurs fois et cela échoue, peu importe ce que j'ai essayé. Je tente d'installer sur Windows 7 SP1 x64. Après chaque échec de l'installation, j'ai désinstallé et supprimé le dossier d'installation pour un nouveau démarrage.

Chaque fois que je tente l’installation, une erreur s’affiche vers la fin de l’installation et indique: "Impossible de charger les modules SQL dans le cluster de bases de données".

Ensuite, une autre erreur s’affiche, juste après: "Erreur lors de la phase de post-installation. L’installation risque de ne pas se terminer correctement. Erreur lors de la lecture de C:/Program Files/PostgreSQL/9.4/postgresql.conf"

J'ai tenté l'installation avec les actions suivantes:

  • Toujours installé en tant qu'administrateur
  • Désactivation de la protection antivirus et du pare-feu Windows
  • Changement du répertoire d'installation en autre chose que le répertoire Program Files.
  • Changement du répertoire de données en autre chose que le répertoire d'installation de postgres

Aucune des actions ci-dessus n'a aidé et je reçois toujours l'erreur. Toute aide que quelqu'un peut fournir serait grandement appréciée!

30
John Theuerkauf

J'obtenais la même erreur en essayant d'installer PostgreSQL v9.4.4 sur Windows 10 Pro. En commençant par une solution hébergée sur Stack Exchange , j’ai proposé les étapes suivantes qui ont permis au programme d’installation de fonctionner correctement:

1) Créez un nouveau compte utilisateur, appelé postgres
2) Ajoutez le nouveau compte aux groupes Administrators et Power Users.
3) Redémarrez l'ordinateur
REMARQUE: j'ai ajouté l'étape 3, car l'étape 4 ne fonctionnait pas sans elle.
4) Exécutez une invite de commande en tant qu’utilisateur postgres, en utilisant la commande suivante:
runas/user: postgres cmd.exe
5) Exécutez le programme d'installation à partir de la fenêtre de commande postgres
6) Supprimez le compte utilisateur postgres, ainsi que le répertoire utilisateur
REMARQUE: j'ai ajouté l'étape 6, car le compte postgres n'est pas requis après l'installation.

21
Jeff G

Ce qui a fonctionné pour moi, c’est, lors de l’installation, de spécifier un dossier de données Postgre SQL qui n’est pas compris dans un répertoire de profil d’utilisateur Windows (C:\Users), tel que C:\postgres-data.

Ma configuration:

  • Gagner 10 Pro

  • PostgreSQL 9.5 RC1

J'ai rencontré ce problème lorsque j'ai essayé de définir le répertoire de données de PostgreSQL quelque part dans le répertoire de mon profil utilisateur, par exemple dans la rubrique "Mes documents".

J'ai essayé la solution de Jeff G et cela n'a pas fonctionné au début. Cela ne fonctionnait que lorsque je conservais le répertoire de données par défaut (C:\Program Files\PostgreSQL\9.5\data). Alors, j’ai essayé plus avant et essayé de configurer le répertoire de données en dehors des répertoires de profils d’utilisateur (c’est-à-dire quelque part qui ne se trouve pas sous C:\Utilisateurs). Par exemple, C:\postgres-data et cela a fonctionné.

J'ai ensuite juste essayé d'utiliser ce répertoire avec mon utilisateur par défaut, sans me soucier de l'utilisateur postgres temp, comme indiqué dans la solution de Jeff G, et cela a également fonctionné. En fin de compte, il fallait que mon répertoire de données se trouve quelque part sous C:\Users. Tant que c'était en dehors de cela, cela a fonctionné. 

14
gomisha

Aucune de ces réponses ici ne m'a aidé, j'ai finalement résolu ce problème en créant le dossier avant l'installation (C:\PostgreSQL\data) et en lui donnant un accès complet au groupe "Utilisateurs".

Windows 7 x64, postgresql-9.5.2-1-windows-x64

9
Micer

Problème très similaire signalé aujourd'hui par OP lors de l’installation de Postgres 9.4. 

Il se trouve que le générateur de mot de passe que j'utilisais a créé un mot de passe contenant des caractères non alphanumériques. ("^") Je crois que c'était le coupable dans cette affaire. Cette suppression permettait de terminer l’installation de Postgres 9.4 (Windows 64 bits).

Solution très facile une fois que vous l'avez trouvée, mais le message d'erreur qui s'affiche n'est pas descriptif. Dans ce cas, je n'ai pas remarqué au début ce que je faisais mal.

8
Slave

J'ai eu la même erreur ("Impossible de charger les modules SQL dans le cluster de base de données.") Lors de l'installation sur W2K12R2 à l'aide du programme d'installation EnterpriseDB lié à la page de téléchargement PostgreSQL Windows . J'ai essayé d'exécuter le programme d'installation avec des privilèges d'administrateur et d'utiliser la solution postgres-user proposée par Jeff G, mais cela n'a pas fonctionné. Enfin, j'ai essayé le deuxième programme d'installation, BigSQL , et cela installé sans problème.

4
David

J'espère que c'est le travail.

1.) Désinstaller PostgreSQL

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

Utilisateur net postgres/delete

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

Net User/ajouter postgres 

4.) Ajoutez l'utilisateur postgres au groupe Administrateurs:

administrateurs de net localgroup postgres/add

5.) Ajouter l'utilisateur postgres au groupe des utilisateurs avec pouvoirs

net localgroup "power users" postgres/add

6.) Lancer une fenêtre de commande en tant qu’utilisateur postgres:

runas/user: postgres cmd.exe

7.) Modifier les utilisateurs postgres et installer postgresql

8.) Sauvegardez et supprimez l'utilisateur postgres du groupe Administrateurs.

administrateurs de localgroup net postgres/delete 

3
RK-Rohan
  • Changement du répertoire de données en autre chose que le répertoire d'installation de postgres

Assurez-vous que NETWORK SERVICE dispose des autorisations de lecture/écriture sur ce dossier. L'installation échouait pour moi jusqu'à ce que je le fasse.

3
DanB

J'ai eu ce problème aussi avec 9.5 et contourné par:

  1. Installation avec le dossier de données par défaut.
  2. S'assurer que mon nouveau dossier de données dispose d'un accès de contrôle total pour le compte "NETWORK SERVICE".
  3. Ensuite, changez le dossier PGDATA par défaut selon cette instruction: https://wiki.postgresql.org/wiki/Change_the_default_PGDATA_directory_on_Windows
1
Peter Meier

J'ai déjà eu le même poblème. J'ai résolu ce problème en installant d'abord Visual Studio C++ Express.

0
Zhiyong Cai

Je rencontrais ce problème avec l'installateur Windows BigSQL PostgreSQL-9.6.5-1-win64-bigsql.exe Le problème s'est avéré que mon chemin d'accès était trop long. Après avoir supprimé des fichiers inutiles de mon chemin système, puis réinstallé, le problème avait disparu.

0
Steed

J'ai eu la même expérience que @gomisha . La solution de @Jeff G ne fonctionnait pas pour moi, quel que soit l'utilisateur qui exécutait le programme d'installation.

Tant que le répertoire de données cible se trouvait sous c:\users, l'initialisation de la base de données install ou échouerait.

J'ai réussi à créer c:\postgresql-data et à m'assurer que l'utilisateur postgres avait full access dans l'outil d'accès effectif.

Remarque: je n'ai pas utilisé control userpasswords2 pour configurer l'utilisateur postgres; Je l'ai fait par le biais de l'assistant utilisateur Windows 10 de mauvaise qualité qui tente de faire en sorte que l'utilisateur s'inscrive pour Hotmail. J'ai exécuté l'installation en tant que postgres.

0
Rimmel

J'ai eu le même problème et j'ai remarqué que certains fichiers .bat de Postgres s'ouvraient dans un éditeur de texte. Les éditeurs de texte qui ouvrent des fichiers pendant l’installation ne sont pas rares, mais j’ai remarqué que ces fichiers de commandes définissaient des autorisations de répertoire. J'ai ensuite constaté que les fichiers .bat étaient configurés pour s'ouvrir dans un éditeur de texte (Notepad ++) par défaut. J'ai changé le programme par défaut pour les fichiers .bat, désinstallé Postgres, relancé le programme d'installation et tout a fonctionné à la perfection. J'espère que cela t'aides.

0
Adrian Carr

Je pense que ce serait mieux comme commentaires individuels ci-dessus, mais je n'ai pas le représentant requis. Je viens de passer des jours là-dessus, avec Postgre 10 sur Win 10 Creators. Ma "réponse" a été de laisser Postgre placer les données dans son dossier d'installation par défaut au lieu de mon dossier utilisateur (où il serait automatiquement sauvegardé). 

1. Ce problème peut se produire sans aucune erreur d'installation signalée. Au tout premier essai, j'ai vu:

Failed to load SQL modules into the database cluster.

Mais cela semblait être dû à:

Executing C:\Users\loren\AppData\Local\Temp\postgresql_installer_aee8e5a76f\vcredist_x64.exe /passive /norestart
Script exit code: 3010

    MSI (s) (AC:FC) [14:21:35:341]: Product: Microsoft Visual C++ 2013 x86 Minimum Runtime - 12.0.40660. 
Restart required. The installation or update for the product required a restart for all changes to take effect.  
The restart was deferred to a later time.

Le redémarrage de Windows après l’échec du reste de l’installation de Postgre n’a pas permis à Postgre de fonctionner. 

Une fois que VC était en place, la désinstallation et la réinstallation de Postgre (toujours avec ses données dans mon dossier utilisateur) terminées sans erreur signalée. Mais chaque tentative d’y accéder, par quelque moyen que ce soit, aboutissait toujours à quelque chose comme ceci:

C:\Program Files\PostgreSQL\10\bin>psql
psql: could not connect to server: Connection refused (0x0000274D/10061)
        Is the server running on Host "localhost" (::1) and accepting
        TCP/IP connections on port 5432?
could not connect to server: Connection refused (0x0000274D/10061)
        Is the server running on Host "localhost" (127.0.0.1) and accepting
        TCP/IP connections on port 5432?

Le renifleur RawCap a montré TCP SYN suivi immédiatement de RST, ACK sur localhost pour les versions v4 et v6 pour chaque tentative. Netstat n'a pas vu le port 5432 utilisé du tout. Tous les journaux d'exécution de Postgre étaient totalement vides. Dans les services Windows, je pouvais démarrer manuellement le service postgresql-x64-10, mais il s’est immédiatement arrêté, avec la remarque que certains services le font normalement. 

2. J'ai essayé de déplacer le répertoire de données via la procédure wiki de Postgre. Apparemment, pour Postgre 10, il est incomplet. Il ne traite pas de:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-x64-10\Data Directory
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Services\postgresql-x64-10\Data Directory
C:\Program Files\PostgreSQL\10\pg_env.bat
C:\Program Files\PostgreSQL\10\scripts\serverctl.vbs

Mais réparer chaque instance de fichier de données que je pouvais trouver ne le laissait pas fonctionner. Et même après avoir corrigé tous ces problèmes, puis désinstallé et réinstallé à nouveau avec l'emplacement par défaut, le nouveau pgAdmin4 se souvenait toujours de l'emplacement de mon répertoire de données utilisateur d'origine! 

3. Je n'ai pas essayé d'accorder des autorisations de lecture/écriture à NETWORK SERVICE sur mon dossier utilisateur. Une fois que l'installation par défaut a fonctionné, je souhaitais poursuivre mon projet d'origine ... Cela aurait peut-être fonctionné. 

0
LorenAmelang

Lors de l'installation de PostgreSQL, n'utilisez pas les symboles suivants dans le mot de passe administrateur de votre base de données: %, < et >.

Rapport de bug et solution du problème ici

0
Roman Z