GNU/Linux >> Linux Esercitazione >  >> Linux

comando psql non trovato

PostgreSQL è un motore di database molto popolare utilizzato da molti siti Web, è uno dei sistemi di gestione di database relazionali più utilizzati disponibili e dopo averlo installato possiamo utilizzare alcuni strumenti che include. Uno di questi strumenti è uno strumento da riga di comando chiamato psql, e oggi impareremo molto a riguardo e come correggere il famoso errore "comando psql non trovato" sui tuoi sistemi.

Informazioni sul comando psql

Quindi, come abbiamo detto, il comando psql è correlato al PostgreSQL RDBMS. Ma cosa fa esattamente questo comando? Iniziamo spiegandolo.

psql è uno strumento da riga di comando che ci garantisce la possibilità di interagire con PostgreSQL RDBMS utilizzando la riga di comando o il terminale del nostro sistema.

Esistono diversi modi per utilizzare o interagire con un RDBMS. Alcuni di questi sono programmi grafici come phpMyAdmin, che viene utilizzato per un altro RDBMS chiamato MySQL (ne esiste una versione anche per PostgreSQL), e ci sono modi meno grafici come la riga di comando o il terminale. Ma perché qualcuno dovrebbe usare un terminale se invece è possibile utilizzare un bel software con una bella GUI?

Bene, alcune persone sono più abituate al terminale e in alcuni casi le funzionalità disponibili in questi strumenti sono diverse, quindi anche se hai una GUI per interagire con un RDBMS potresti non avere una funzione disponibile nel terminale, e viceversa ovviamente.

Cosa posso fare con psql?

Come abbiamo detto, viene utilizzato per connettersi con PostgreSQL in modo che possiamo quindi inviare query diverse e, naturalmente, vedere i risultati di tali query. Include molte funzioni, circa 30 per essere più precisi, ma alcune sono più importanti di altre, quindi vediamo quali di queste funzioni o opzioni vengono utilizzate di più.

  • –comando :questa è un'opzione psql ampiamente utilizzata e, come avrai già intuito, viene utilizzata per emettere un comando. Questa funzione è molto utilizzata negli script bash relativi a PostgreSQL perché ci permetterà di eseguire comandi in PostgreSQL direttamente dallo script.
  • –nomedb :un'altra opzione molto importante, questa ci permetterà di connetterci a un particolare database in PostgreSQL per lavorarci. In questo modo ci assicuriamo che le query che eseguiamo vengano eseguite solo nel database corretto.
  • –elenco :questa è una funzionalità piuttosto semplice che viene utilizzata per elencare tutti i database disponibili. Sì, è tutto ciò che fa, ma è molto utile per verificare se, ad esempio, ci manca un database.
  • –silenzioso :una funzionalità molto utile se non vogliamo leggere molto, sopprimerà automaticamente tutti i messaggi che il comando eseguito potrebbe restituire sul nostro schermo. Questo può essere utile in alcune situazioni, ad esempio se vengono stampati troppi dati inutili, ma in altri casi potremmo non volerli utilizzare se abbiamo davvero bisogno di guardare l'output.
  • –nome utente :con questa opzione possiamo connetterci a un database utilizzando un nome utente al posto della sessione psql predefinita.
  • –nessuna password :questa opzione disabilita la richiesta di password, quindi non saremo in grado di ricevere una richiesta di password durante l'utilizzo dello strumento psql. In questo caso, le password dovranno essere archiviate in un file e ottenute da lì. Questo può essere utilizzato anche quando dobbiamo eseguire uno script automatico che richiede una password, in questo caso dovremmo avere la password memorizzata in un file sicuro in modo che lo script possa leggerla da lì.
  • –password :questa è l'opposto dell'opzione precedente, il che significa che ci verrà richiesta una password durante l'utilizzo. psql chiederà una password quando tentiamo di connetterci a un database o di eseguire una query. Nella maggior parte dei casi, questa funzione è abilitata per impostazione predefinita nella configurazione di PostgreSQL, quindi potrebbe non essere necessario utilizzarla nel terminale.

Come posso correggere l'errore comando psql non trovato su Linux?

Quindi ora che abbiamo spiegato cos'è esattamente psql e come può essere utilizzato per interagire con i database PostgreSQL, vediamo come possiamo risolvere uno dei problemi più comuni associati a questo strumento:l'errore non trovato.

Se mai ti imbatti nel comando psql non trovato errore, allora potresti o meno fare qualcosa di sbagliato. Prima di spiegare la soluzione, vediamo cosa sta succedendo qui.

Quando ricevi l'errore psql non trovato significa che il file binario/eseguibile per psql non è stato trovato nel PERCORSO del tuo utente . A seconda di come è stato installato PostgreSQL, potrebbe o meno essere inserito nel tuo PERCORSO.

Possiamo anche ottenere questo errore se non abbiamo ancora installato PostgreSQL, nel qual caso la soluzione è ovviamente installarlo e ricontrollare dopo.

Ma cosa succede se PostgreSQL è installato ma ricevi comunque questo errore? Bene, non preoccuparti, è abbastanza facile risolvere questo problema e questa soluzione funziona sia per i sistemi CentOS che per Ubuntu e per la maggior parte delle distribuzioni Linux in realtà.

Innanzitutto, eseguiamo un comando molto utile chiamato "updatedb", che al giorno d'oggi viene incluso nella maggior parte delle distribuzioni per impostazione predefinita come parte dello strumento "localizza". Potrebbe durare alcuni minuti prima di finire:

updatedb

Una volta terminato, il database di locate cache verrà aggiornato e possiamo usarlo per trovare la posizione esatta del comando psql, quindi eseguiamolo nella nostra shell:

locate psql

Una volta trovato il percorso esatto del binario, dobbiamo solo creare un collegamento simbolico . Ad esempio, se il binario psql è stato trovato nel percorso '/usr/lib/postgresql/9.5/bin/psql', dobbiamo solo emettere il seguente comando per creare un collegamento simbolico:

ln -s /usr/lib/postgresql/9.5/bin/psql /usr/bin/psql

In questo modo il binario sarà disponibile nel nostro PATH e potremo eseguirlo velocemente semplicemente digitando “psql” nella nostra shell. Questo è il modo più semplice e veloce per risolvere l'errore comando psql non trovato.

Riepilogo

Quindi oggi abbiamo imparato qualcosa in più sullo strumento psql che viene utilizzato nella shell per inviare comandi e query in PostgreSQL e può essere utilizzato anche negli script bash che si connettono a questo RDBMS.

Sappiamo anche come correggere l'errore psql command not found, che è uno degli errori più comuni relativi a questo strumento. La soluzione è abbastanza semplice ed è compatibile con la maggior parte delle distribuzioni Linux, richiedendo solo un collegamento simbolico per aggiungere il binario al PERCORSO dell'utente.

Riferimenti:

  • Documentazione PGSQL
Il comando psql non trovato è stato modificato l'ultima volta:3 giugno 2020 da Esteban Borges
Linux
  1. gestore abbonamenti:comando non trovato

  2. dnf:comando non trovato

  3. bc:comando non trovato

  4. dpkg:comando non trovato

  5. id:comando non trovato

nc:comando non trovato

aws-shell:comando non trovato

tvservice:comando non trovato

lspci:comando non trovato

pstree:comando non trovato

ln:comando non trovato