GNU/Linux >> LINUX-Kenntnisse >  >> Linux

psql-Befehl nicht gefunden

PostgreSQL ist eine sehr beliebte Datenbank-Engine, die von vielen Websites verwendet wird, ist eines der am häufigsten verwendeten Verwaltungssysteme für relationale Datenbanken und nach der Installation können wir einige darin enthaltene Tools verwenden. Eines dieser Tools ist ein Befehlszeilentool namens psql, und heute werden wir viel darüber lernen und erfahren, wie Sie den berühmten Fehler „psql-Befehl nicht gefunden“ auf Ihren Systemen beheben können.

Über den psql-Befehl

Wie gesagt, der Befehl psql bezieht sich auf das PostgreSQL-RDBMS. Aber was macht dieser Befehl genau? Beginnen wir damit, das zu erklären.

psql ist ein Befehlszeilentool, das uns die Möglichkeit gibt, mit dem PostgreSQL-RDBMS über die Befehlszeile oder das Terminal unseres Systems zu interagieren.

Es gibt verschiedene Möglichkeiten, ein RDBMS zu verwenden oder mit ihm zu interagieren. Einige davon sind grafische Programme wie phpMyAdmin, das für ein anderes RDBMS namens MySQL verwendet wird (es gibt auch eine Version davon für PostgreSQL), und es gibt weniger grafische Möglichkeiten wie die Befehlszeile oder das Terminal. Aber warum sollte jemand ein Terminal verwenden, wenn stattdessen eine nette Software mit einer netten GUI verwendet werden kann?

Nun, einige Leute sind eher an das Terminal gewöhnt, und in einigen Fällen sind die in diesen Tools verfügbaren Funktionen unterschiedlich. Selbst wenn Sie also eine GUI haben, um mit einem RDBMS zu interagieren, fehlt Ihnen möglicherweise eine Funktion, die im Terminal verfügbar ist. und umgekehrt natürlich.

Was kann ich mit psql machen?

Wie gesagt, wird es verwendet, um eine Verbindung mit PostgreSQL herzustellen, damit wir dann verschiedene Abfragen ausgeben und natürlich die Ergebnisse dieser Abfragen sehen können. Es enthält viele Funktionen, etwa 30, um genauer zu sein, aber einige sind wichtiger als andere, also sehen wir uns an, welche dieser Funktionen oder Optionen am häufigsten verwendet werden.

  • –Befehl :Dies ist eine weit verbreitete psql-Option und wird, wie Sie vielleicht schon erraten haben, verwendet, um einen Befehl auszugeben. Diese Funktion wird häufig in PostgreSQL-bezogenen Bash-Skripten verwendet, da sie es uns ermöglicht, Befehle in PostgreSQL direkt aus dem Skript auszuführen.
  • –dbname :eine weitere sehr wichtige Option, mit der wir uns mit einer bestimmten Datenbank in PostgreSQL verbinden können, um damit zu arbeiten. Auf diese Weise stellen wir sicher, dass die von uns ausgeführten Abfragen nur in der richtigen Datenbank ausgeführt werden.
  • –Liste :Dies ist eine ziemlich einfache Funktion, die verwendet wird, um alle verfügbaren Datenbanken aufzulisten. Ja, das ist alles, aber es ist sehr nützlich, um zum Beispiel zu überprüfen, ob uns eine Datenbank fehlt.
  • –leise :Eine Funktion, die sehr nützlich ist, wenn wir nicht viel lesen möchten, sie unterdrückt automatisch alle Meldungen, die der ausgeführte Befehl auf unserem Bildschirm zurückgeben kann. Dies kann in manchen Situationen nützlich sein, zum Beispiel wenn zu viele nutzlose Daten gedruckt werden, aber in anderen Fällen möchten wir es vielleicht nicht verwenden, wenn wir uns wirklich die Ausgabe ansehen müssen.
  • –Benutzername :Mit dieser Option können wir eine Verbindung zu einer Datenbank mit einem Benutzernamen anstelle der standardmäßigen psql-Sitzung herstellen.
  • –kein Passwort :Diese Option deaktiviert die Passwortabfrage, sodass wir bei Verwendung des psql-Tools keine Passwortabfrage erhalten können. In diesem Fall müssen Passwörter in einer Datei gespeichert und von dort bezogen werden. Dies kann auch verwendet werden, wenn wir ein automatisches Skript ausführen müssen, das ein Passwort erfordert. In diesem Fall sollten wir das Passwort in einer sicheren Datei speichern, damit das Skript es von dort lesen kann.
  • –Passwort :Dies ist das Gegenteil der vorherigen Option, was bedeutet, dass wir bei der Verwendung nach einem Passwort gefragt werden. psql fragt nach einem Passwort, wenn wir versuchen, eine Verbindung zu einer Datenbank herzustellen oder eine Abfrage auszuführen. In den meisten Fällen ist diese Funktion standardmäßig in der PostgreSQL-Konfiguration aktiviert, sodass wir sie möglicherweise nicht im Terminal verwenden müssen.

Wie kann ich den Fehler „psql-Befehl nicht gefunden“ unter Linux beheben?

Nachdem wir also erklärt haben, was psql genau ist und wie es für die Interaktion mit PostgreSQL-Datenbanken verwendet werden kann, wollen wir sehen, wie wir eines der häufigsten Probleme im Zusammenhang mit diesem Tool lösen können:den Fehler „Nicht gefunden“.

Wenn Sie jemals auf den Fehler psql command not found stoßen, können Sie etwas falsch machen oder auch nicht. Bevor wir die Lösung erklären, sehen wir uns an, was hier vor sich geht.

Wenn Sie den Fehler „psql not found“ erhalten, bedeutet dies, dass die binäre/ausführbare Datei für psql nicht im PATH Ihres Benutzers gefunden wurde . Abhängig davon, wie PostgreSQL installiert wurde, kann es in Ihrem PATH platziert werden oder nicht.

Wir können diesen Fehler auch erhalten, wenn wir PostgreSQL noch nicht installiert haben. In diesem Fall besteht die Lösung darin, es natürlich zu installieren und danach erneut zu überprüfen.

Aber was ist, wenn PostgreSQL installiert ist, Sie aber trotzdem diesen Fehler erhalten? Nun, keine Sorge, es ist ziemlich einfach, dieses Problem zu lösen, und diese Lösung funktioniert sowohl für CentOS- als auch für Ubuntu-Systeme und eigentlich für die meisten Linux-Distributionen.

Lassen Sie uns zunächst einen sehr nützlichen Befehl namens „updatedb“ ausführen, der heutzutage in den meisten Distributionen standardmäßig als Teil des Tools „locate“ enthalten ist. Es kann einige Minuten dauern, bevor es beendet wird:

updatedb

Sobald es fertig ist, wird die Datenbank des Locate Cache aktualisiert und wir können sie verwenden, um den genauen Speicherort des psql-Befehls zu finden, also lassen Sie uns das in unserer Shell ausführen:

locate psql

Sobald der genaue Pfad der Binärdatei gefunden ist, müssen wir nur noch einen Symlink erstellen . Wenn die psql-Binärdatei beispielsweise im Pfad „/usr/lib/postgresql/9.5/bin/psql“ gefunden wurde, müssen wir nur den folgenden Befehl ausführen, um einen Symlink zu erstellen:

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

Auf diese Weise ist die Binärdatei in unserem PATH verfügbar und wir können sie schnell ausführen, indem wir einfach „psql“ in unsere Shell eingeben. Dies ist der einfachste und schnellste Weg, um den Fehler „psql-Befehl nicht gefunden“ zu beheben.

Zusammenfassung

Heute haben wir also etwas mehr über das psql-Tool erfahren, das in der Shell verwendet wird, um Befehle und Abfragen in PostgreSQL auszugeben, und es kann auch in Bash-Skripten verwendet werden, die eine Verbindung zu diesem RDBMS herstellen.

Wir wissen auch, wie man den Fehler psql command not found behebt, der einer der häufigsten Fehler im Zusammenhang mit diesem Tool ist. Die Lösung ist recht einfach und mit den meisten Linux-Distributionen kompatibel und erfordert nur einen symbolischen Link, um die Binärdatei zum PATH des Benutzers hinzuzufügen.

Referenzen:

  • PGSQL-Dokumentation
psql-Befehl nicht gefunden wurde zuletzt geändert:3. Juni 2020 von Esteban Borges
Linux
  1. Subscription-Manager:Befehl nicht gefunden

  2. dnf:Befehl nicht gefunden

  3. bc:Befehl nicht gefunden

  4. dpkg:Befehl nicht gefunden

  5. id:Befehl nicht gefunden

nc:Befehl nicht gefunden

aws-shell:Befehl nicht gefunden

tvservice:Befehl nicht gefunden

lspci:Befehl nicht gefunden

pstree:Befehl nicht gefunden

ln:Befehl nicht gefunden