web-dev-qa-db-fra.com

Postgres "psql non reconnu comme une commande interne ou externe"

Pour Postgres, cette erreur persiste plusieurs fois, même si j'ai déjà défini l'emplacement du dossier bin sur la variable de chemin d'accès dans Windows 8. Quelque chose me manque-t-il?

(Je ne peux pas poster de photos car je n'ai pas assez de réputation)

21
as1216

Juste une mise à jour parce que je l'essayais sur Windows 10, vous devez définir le chemin suivant: ;C:\Program Files\PostgreSQL\9.5\bin ;C:\Program Files\PostgreSQL\9.5\lib 

Vous pouvez le faire soit par le biais du CMD en utilisant set PATH [the path] Ou de mon 

ordinateur => propriétés => paramètres système avancés => environnement Variables => Variables système

Ensuite, recherchez le chemin.

Important: ne remplacez pas les chemins PATH existants, ajoutez-en un à côté d'eux comme suit ;C:\Program Files\PostgreSQL\9.5\bin ;C:\Program Files\PostgreSQL\9.5\lib

Remarque : Sous Windows 10, si vous suivez les instructions suivantes: ordinateur => propriétés => paramètres système avancés => variables d'environnement => variables système> sélectionnez CHEMIN, vous obtenez l'option d'ajouter une nouvelle ligne. Cliquez sur Modifier, ajoutez les emplacements des dossiers/bin et/lib et enregistrez les modifications. 

Fermez ensuite votre invite de commande si elle est ouverte, puis redémarrez-la Essayez psql --version Si elle vous donne une réponse, vous pouvez continuer sinon essayez echo %PATH% et voyez si le chemin que vous avez défini a été ajouté ou non et s'il est ajouté, est-il ajouté correctement ou non?.

41
Shahin

J'ai eu votre problème et l'ai fait fonctionner à nouveau (sur Windows 7).

Ma configuration avait réellement fonctionné au début. J'ai installé postgres puis configuré les variables système PATH avec C:\Program Files\PostgreSQL\9.6\bin; C:\Program Files\PostgreSQL\9.6\lib. Le mot clé psql dans la ligne de commande n'a généré aucune erreur.

J'ai supprimé les variables PATH ci-dessus, une à la fois, pour vérifier si elles étaient vraiment nécessaires. Psql a continué à fonctionner après la suppression du chemin de la bibliothèque, mais a cessé de fonctionner après la suppression du chemin de la corbeille. Quand je suis rentré bin, ça ne marchait toujours pas, et pareil avec lib. J'ai fermé et rouvert la ligne de commande entre les tentatives et vérifié le chemin. Le problème persistait même si le chemin était identique à celui du travail accompli. Je l'ai recollé.

J'ai désinstallé et réinstallé postgres. Le problème persiste. Cela a finalement fonctionné après avoir supprimé les espaces entre "; C: ..." dans les chemins et ré-enregistré.

Je ne sais pas si ce sont vraiment les espaces qui ont été les coupables. Peut-être que les variables d'environnement doivent simplement être modifiées et actualisées après l'installation.

De plus, je ne suis pas encore sûr de la nécessité des chemins d'accès lib et bin car il semble y avoir une sorte de mémoire en attente pour les anciennes configurations de chemin. Je ne veux pas le tester à nouveau cependant.

2
voluntier

Même s'il est un peu tardif, j'ai résolu le problème PATH en supprimant tous les espaces.

;C:\Program Files\PostgreSQL\9.5\bin;C:\Program Files\PostgreSQL\9.5\lib

travaille pour moi maintenant.

1
derRichter

Si vous avez essayé toutes les réponses en continuant de tourner la tête, n'oubliez pas de changer de version avec votre version téléchargée.

Par exemple, ne pas simplement copier coller 

;C:\Program Files\PostgreSQL\9.5\bin ;C:\Program Files\PostgreSQL\9.5\lib

Plus clairement,

;C:\Program Files\PostgreSQL\[Your Version]\bin ;C:\Program Files\PostgreSQL\[Your Version]\lib

Je tournais la tête. J'espère que cela t'aides.

0
Unnit Metaliya

Assurez-vous que le chemin mène réellement aux exécutables. J'utilise la version 11 et cela n'a pas fonctionné jusqu'à ce que cela soit défini comme chemin:

C:\Program Files\PostgreSQL\11\bin\bin

C’est peut-être ainsi que la version 11 est structurée ou j’ai quelque peu raté l’installation mais je n’ai pas eu de problème depuis.

0
Nate