PostgreSQL est un moteur de base de données très populaire utilisé par de nombreux sites Web, est l'un des systèmes de gestion de base de données relationnelle les plus utilisés disponibles, et après l'avoir installé, nous pouvons utiliser certains outils qu'il inclut. L'un de ces outils est un outil de ligne de commande appelé psql, et aujourd'hui nous allons en apprendre beaucoup à ce sujet, et comment corriger la fameuse erreur "psql command not found" sur vos systèmes.
À propos de la commande psql
Donc, comme nous l'avons dit, la commande psql est liée au SGBDR PostgreSQL. Mais que fait exactement cette commande ? Commençons par expliquer cela.
psql est un outil en ligne de commande qui nous permet d'interagir avec le SGBDR PostgreSQL en utilisant la ligne de commande ou le terminal de notre système.
Il existe différentes manières d'utiliser ou d'interagir avec un SGBDR. Certains d'entre eux sont des programmes graphiques comme phpMyAdmin, qui est utilisé pour un autre SGBDR appelé MySQL (il existe également une version pour PostgreSQL), et il existe des moyens moins graphiques comme la ligne de commande ou le terminal. Mais pourquoi quelqu'un utiliserait-il un terminal si un bon logiciel avec une belle interface graphique peut être utilisé à la place ?
Eh bien, certaines personnes sont plus habituées au terminal, et dans certains cas, les fonctionnalités disponibles dans ces outils sont différentes, donc même si vous avez une interface graphique pour interagir avec un SGBDR, il vous manque peut-être une fonction disponible dans le terminal, et inversement bien sûr.
Que puis-je faire avec psql ?
Comme nous l'avons dit, il est utilisé pour se connecter à PostgreSQL afin que nous puissions ensuite émettre différentes requêtes et, bien sûr, voir les résultats de ces requêtes. Il comprend beaucoup de fonctions, une trentaine pour être plus précis, mais certaines sont plus importantes que d'autres alors voyons lesquelles de ces fonctions ou options sont les plus utilisées.
- –commande :c'est une option psql largement utilisée et, comme vous l'avez peut-être déjà deviné, elle est utilisée pour émettre une commande. Cette fonction est très utilisée dans les scripts bash liés à PostgreSQL car elle nous permettra d'exécuter des commandes dans PostgreSQL directement à partir du script.
- –dbname :une autre option très importante, celle-ci nous permettra de nous connecter à une base de données particulière dans PostgreSQL pour travailler avec elle. De cette façon, nous nous assurons que les requêtes que nous exécutons ne sont exécutées que dans la bonne base de données.
- –liste :il s'agit d'une fonctionnalité assez simple qui est utilisée pour répertorier toutes les bases de données disponibles. Ouais, c'est tout ce qu'il fait, mais c'est très utile pour vérifier s'il nous manque une base de données par exemple.
- –silencieux :une fonctionnalité très utile si nous ne voulons pas beaucoup lire, elle supprimera automatiquement tous les messages que la commande exécutée peut renvoyer sur notre écran. Cela peut être utile dans certaines situations, par exemple, si trop de données inutiles sont imprimées, mais dans d'autres cas, nous ne voudrons peut-être pas l'utiliser si nous avons vraiment besoin de regarder la sortie.
- –nom d'utilisateur :avec cette option, nous pouvons nous connecter à une base de données en utilisant un nom d'utilisateur au lieu de la session psql par défaut.
- –pas de mot de passe :cette option désactive l'invite de mot de passe, nous ne pourrons donc pas obtenir de demande de mot de passe lors de l'utilisation de l'outil psql. Dans ce cas, les mots de passe devront être stockés dans un fichier et obtenus à partir de là. Cela peut également être utilisé lorsque nous devons exécuter un script automatique qui nécessite un mot de passe, dans ce cas, nous devrions avoir le mot de passe stocké dans un fichier sécurisé afin que le script puisse le lire à partir de là.
- –mot de passe :c'est le contraire de l'option précédente, ce qui signifie qu'on nous demandera un mot de passe lors de son utilisation. psql demandera un mot de passe lorsque nous essaierons de nous connecter à une base de données ou d'exécuter une requête. Dans la plupart des cas, cette fonctionnalité est activée par défaut dans la configuration de PostgreSQL, nous n'avons donc peut-être pas besoin de l'utiliser dans le terminal.
Comment puis-je corriger l'erreur de commande psql introuvable sous Linux ?
Maintenant que nous avons expliqué ce qu'est exactement psql et comment il peut être utilisé pour interagir avec les bases de données PostgreSQL, voyons comment résoudre l'un des problèmes les plus courants associés à cet outil :l'erreur introuvable.
Si jamais vous rencontrez l'erreur psql command not found, vous pouvez ou non faire quelque chose de mal. Avant d'expliquer la solution, voyons ce qui se passe ici.
Lorsque vous obtenez l'erreur psql introuvable, cela signifie que le fichier binaire/exécutable pour psql n'a pas été trouvé dans le PATH de votre utilisateur . Selon la façon dont PostgreSQL a été installé, il peut ou non être placé dans votre PATH.
Nous pouvons également obtenir cette erreur si nous n'avons pas encore installé PostgreSQL, auquel cas la solution consiste à l'installer bien sûr et à vérifier à nouveau après cela.
Mais que se passe-t-il si PostgreSQL est installé mais que vous obtenez toujours cette erreur ? Eh bien, ne vous inquiétez pas, il est assez facile de résoudre ce problème, et cette solution fonctionne à la fois pour les systèmes CentOS et Ubuntu, et pour la plupart des distributions Linux en fait.
Tout d'abord, lançons une commande très utile appelée "updatedb", qui est aujourd'hui incluse par défaut dans la plupart des distributions dans le cadre de l'outil "localiser". Il peut s'exécuter pendant quelques minutes avant de se terminer :
updatedb
Une fois terminé, la base de données du cache de localisation sera mise à jour et nous pourrons l'utiliser pour trouver l'emplacement exact de la commande psql, alors exécutons ceci dans notre shell :
locate psql
Une fois le chemin exact du binaire trouvé, nous n'avons plus qu'à créer un lien symbolique . Par exemple, si le binaire psql a été trouvé dans le chemin « /usr/lib/postgresql/9.5/bin/psql », nous n'avons qu'à émettre la commande suivante pour créer un lien symbolique :
ln -s /usr/lib/postgresql/9.5/bin/psql /usr/bin/psql
De cette façon, le binaire sera disponible dans notre PATH et nous pourrons l'exécuter rapidement en tapant simplement "psql" dans notre shell. C'est le moyen le plus simple et le plus rapide de résoudre l'erreur de commande psql introuvable.
Résumé
Donc, aujourd'hui, nous en avons appris un peu plus sur l'outil psql qui est utilisé dans le shell pour émettre des commandes et des requêtes dans PostgreSQL, et il peut également être utilisé dans les scripts bash qui se connectent à ce RDBMS.
Nous savons également comment corriger l'erreur de commande psql introuvable, qui est l'une des erreurs les plus courantes liées à cet outil. La solution est assez simple et est compatible avec la plupart des distributions Linux, ne nécessitant qu'un lien symbolique pour ajouter le binaire au PATH de l'utilisateur.
Références :
- Documentation PGSQL