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

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


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/postgresql@9.5/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.


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.


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!


5

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

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


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


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

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


1

BEANTWORTET AM OKTOBER 2017

Lauf

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

und starten Sie dann Ihr Terminal neu.


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.


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 😁
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.