psql: Befehl nicht gefunden Mac

77

Ich habe PostgreSQL über die grafische Installation unter http://www.postgresql.org/download/macosx/ installiert.

Ich sehe es in meinen Anwendungen und habe auch das psql-Terminal in meinen Anwendungen. Ich benötige psql, um im regulären Terminal für ein anderes Bash-Skript zu arbeiten, das ich für eine App ausführe.

Aus irgendeinem Grund, wenn ich renne

psql

Im Mac-Terminal ist meine Ausgabe

-bash: psql: command not found

Ich habe im Terminal Folgendes ausgeführt:

locate psql | grep /bin

und die Ausgabe war

/Library/PostgreSQL/9.5/bin/psql

Ich habe dann mein ~ / .bash_profile bearbeitet und es dem Pfad wie folgt hinzugefügt:

export PATH = /Library/PostgreSQL/9.5/bin/psql:$PATH

Das einzige andere in ~ / .bash_profile ist SDK man und es befindet sich am Ende des Skripts, wie es heißt. Ich habe versucht, das Bad auch auf /Library/PostgreSQL/9.5/bin/ einzustellen. Ich habe auch mein Terminal neu gestartet.

Wie kann ich psql zum Laufen bringen?

EDIT Nach dem Hinzufügen zu Bashrc, diese Ausgabe zurückgegeben wird , wenn ich öffne Terminal

-bash: export: `/Library/PostgreSQL/9.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin': not a valid identifier
user3147424
quelle
5
Sie haben den Pfad etwas falsch verstanden. Sie benötigen den PFAD "das enthaltende Verzeichnis" , nicht die eigentliche ausführbare Datei. Ihr Pfad sollte sein export PATH=/Library/PostgreSQL/9.5/bin:$PATH- ohne das zusätzliche psqlBit darin. Außerdem müssen Sie die Leerzeichen um das Gleichheitszeichen entfernen.
Mark Setchell
@ MarkSetchell Ich habe das auch versucht und es gibt immer noch psql zurück: Befehl nicht gefunden
user3147424
Können Sie echo $PATHbitte die Ausgabe von geben ?
Julien Lopez
/Users/name/.sdkman/candidates/grails/current/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
user3147424
Ich habe gerade eine Bearbeitung hinzugefügt - es gibt ein Problem mit dem Pfad.
user3147424

Antworten:

108

Sie haben den Pfad etwas falsch verstanden. Sie benötigen den PFAD "das enthaltende Verzeichnis" , nicht die eigentliche ausführbare Datei selbst.

Ihr PFAD sollte wie folgt eingestellt sein:

export PATH=/Library/PostgreSQL/9.5/bin:$PATH

ohne den zusätzlichen sqlTeil darin. Außerdem müssen Sie die Leerzeichen um das Gleichheitszeichen entfernen.

Schlüsselwörter : Postgresql, PATH, macOS, OSX, psql

Mark Setchell
quelle
9
Starten Sie einfach Ihr Terminal neu, das könnte alles sein, was es ist
russiansummer
8
Niemals, niemals, niemals das :$PATHam Ende dieses Befehls vergessen , oder es wird den Ventilator treffen und die Muschel lähmen: p
benjaminz
1
@Luffydude Fragen sind kostenlos. Fühlen Sie sich frei, einen neuen zu fragen, und wir werden versuchen, Ihnen zu helfen.
Mark Setchell
Eigentlich wusste ich nicht, dass ich etwas installieren musste, jetzt funktioniert es, danke :)
Luffydude
1
Für Mojave-Benutzer: Export PATH=/usr/local/opt/[email protected]/bin: $ PATH
Davide Carpini
26

Auf der Postgres- Dokumentationsseite:

sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp

Starten Sie Ihr Terminal neu und Sie haben es auf Ihrem Weg.

Missgeschick
quelle
2
In den Anweisungen heißt es außerdem: "Natürlich können Sie stattdessen auch einfach Ihre .profile-Datei bearbeiten." Meine CLI-Installation funktionierte nicht, bis ich dies unter MacOS 10.12 Sierra mit Postgres 10 tat (der Befehl sudo funktionierte bei mir nicht): vi ~/.profile add this line: export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/10/bin .source ~/.profile
kevin11
17

Bei mir hat das geklappt:

  1. Herunterladen der App: https://postgresapp.com/downloads.html

  2. Ausführen von Befehlen zum Konfigurieren von $ PATH - beachten Sie jedoch, dass dies bei mir nicht funktioniert hat. https://postgresapp.com/documentation/cli-tools.html

  3. Fügen Sie es manuell zum .bash_profile-Dokument hinzu:

    cd  # to get to your home folder
    open .bash_profile  # to open your bash_profile
    

    Fügen Sie in Ihrem Bash-Profil Folgendes hinzu:

    # Postgres
    export PATH=/Applications/Postgres.app/Contents/Versions/latest/bin
    

    Speicher die Datei. Starten Sie das Terminal neu. Geben Sie 'psql' ein. Getan.

amcp
quelle
16

Wenn jemand Homebrew mit Mojave oder später verwendet hat:

export PATH=/usr/local/opt/postgresql@9.5/bin:$PATH

Ändern Sie die Version, wenn Sie brauchen!

Davide Carpini
quelle
5

Ändern Sie Ihr PATHin .bashrc, nicht in .bash_profile:

http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

Julien Lopez
quelle
Ich habe auch zur .bashrc hinzugefügt - gibt immer noch die gleiche Ausgabe zurück.
user3147424
Markiert für nützliche Informationen, obwohl es mein spezifisches Problem nicht löste. Danke für die Hilfe.
user3147424
Ja, ich habe die zusätzlichen Leerzeichen in Ihrer PATHZeile nicht erkannt , bevor Mark darauf hingewiesen hat. :-) Froh, dass ich helfen konnte.
Julien Lopez
4

Öffnen Sie die Datei .bash_profilein Ihrem Home-Ordner. Es ist eine versteckte Datei.

Fügen Sie diesen Pfad unten in die Zeile zum Exportieren des Pfads in Ihrer .bash_profileDatei ein :/Applications/Postgres.app/Contents/Versions/latest/bin

Das Symbol :trennt die Pfade.

Beispiel:

Wenn die Datei enthält: export PATH=/usr/bin:/bin:/usr/sbin:/sbin

es wird werden: export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Postgres.app/Contents/Versions/latest/bin

So zeigen Sie versteckte Dateien an

Fügen Sie im Terminal Folgendes ein: defaults write com.apple.finder AppleShowAllFiles YES

André Luiz Reis
quelle
4

Mojave, Postgres wurde über installiert

brew install https://raw.githubusercontent.com/lembacon/homebrew-core/bede8a46dea462769466f606f86f82511949066f/Formula/postgresql@9.6.rb

So erhalten Sie psql auf Ihrem Weg:

brew link postgresql@9.6 --force
Vittorius
quelle
2

Wenn Postgres heruntergeladen und installiert wurde, sollte das Problem durch Ausführen dieses Problems behoben werden:

sudo mkdir -p /etc/paths.d &&
echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee 
/etc/paths.d/postgresapp

Starten Sie das Terminal neu und Sie können den psqlBefehl verwenden.

Ref: https://postgresapp.com/documentation/cli-tools.html

Obinna Nnenanya
quelle
1

BEANTWORTET AM OKTOBER 2017

Lauf

export PATH=/Library/PostgreSQL/9.5/bin:$PATH

und starten Sie dann Ihr Terminal neu.

Utkarsh Sharma
quelle
1

Als PostgreSQL-Neuling fand ich die Setup-Anweisungen für OS X auf der Postgresql-Site undurchdringlich. Ich habe alle möglichen Fehler. Zum Glück hat das Deinstallationsprogramm einwandfrei funktioniert.

cd /Library/PostgreSQL/11; open uninstall-postgresql.app/

Dann begann ich mit einer Brauinstallation, gefolgt von diesem Artikel So richten Sie PostgreSQL unter MacOS ein

Es funktioniert jetzt gut.

mt_
quelle
1

Wenn Postgresql von der offiziellen Website heruntergeladen wurde. Nach der Installation half mir das Ausführen dieser Befehle, das psql- Problem zu beheben .

Gehen Sie mit zu Ihrem Home-Verzeichnis cd ~

Führen Sie in Ihrem Home-Verzeichnis aus ls -a. Bearbeiten Sie die Datei .bash_profile mit vim

vi .bash_profile öffnet den vim editor.

Einfügen durch Drücken iauf den Editor.

Hinzufügen export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/<Version Number>/bin

Das Version Numberbezieht sich auf die Versionsnummer des auf Ihrem lokalen Computer installierten Postgresql. In meinem Fall wurde Version 12 installiert, also habe ich eingegeben

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/12/bin .

escDrücken Sie die Taste und drücken Sie :wq, um den Editor zu verlassen.

Geben Sie source .bash_profilein Ihr Terminal ein, um den Inhalt einer Datei zu lesen und auszuführen, die gerade als Argument im aktuellen Shell-Skript übergeben wurde.

Lauf psql

Endergebnis

In Summe:

  • cd ~
  • vi .bash_profile
  • export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/12/bin Notieren Sie sich die Versionsnummer
  • exit vim
  • source .bash_profile
  • psql Funktioniert 😁
Sobowale Bukola
quelle