问题
I installed PostgreSQL via the graphical install on http://www.postgresql.org/download/macosx/
I see it in my applications and also have the psql terminal in my applications. I need psql to work in the regular terminal for another bash script I'm running for an app.
For some reason, when I run
psql
in the Mac terminal, my output is
-bash: psql: command not found
I ran the following in the terminal:
locate psql | grep /bin
and the output was
/Library/PostgreSQL/9.5/bin/psql
I then edited my ~/.bash_profile and added it to the path like so:
export PATH = /Library/PostgreSQL/9.5/bin/psql:$PATH
The only other thing in ~/.bash_profile is SDK man and it's at the bottom of the script as it says it should be. I've tried setting the bath to just the /Library/PostgreSQL/9.5/bin/ as well. I've restarted my terminal also.
How can I get psql to work?
EDIT After adding to .bashrc, this output is returned when I open terminal
-bash: export: `/Library/PostgreSQL/9.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin': not a valid identifier
回答1:
You have got the PATH slightly wrong. You need the PATH to "the containing directory", not the actual executable itself.
Your PATH should be set like this:
export PATH=/Library/PostgreSQL/9.5/bin:$PATH
without the extra sql part in it. Also, you must remove the spaces around the equals sign.
Keywords: Postgresql, PATH, macOS, OSX, psql
回答2:
From the Postgres documentation page:
sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp
restart your terminal and you will have it in your path.
回答3:
If someone used homebrew with Mojave:
export PATH=/usr/local/opt/postgresql@9.5/bin:$PATH
change version if you need!
回答4:
For me this worked:
Downloading the App: https://postgresapp.com/downloads.html
Running commands to configure $PATH - note though that it didn't work for me. https://postgresapp.com/documentation/cli-tools.html
Manually add it to the .bash_profile document:
cd # to get to your home folder open .bash_profile # to open your bash_profileIn your bash profile add:
# Postgres export PATH=/Applications/Postgres.app/Contents/Versions/latest/binSave the file. Restart the terminal. Type 'psql'. Done.
回答5:
Modify your PATH in .bashrc, not in .bash_profile:
http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files
回答6:
Open the file .bash_profile in your Home folder. It is a hidden file.
Add this path below to the end export PATH line in you .bash_profile file
:/Applications/Postgres.app/Contents/Versions/latest/bin
The symbol : separates the paths.
Example:
If the file contains:
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
it will become:
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Postgres.app/Contents/Versions/latest/bin
How to show hidden files
In Terminal, paste the following: defaults write com.apple.finder AppleShowAllFiles YES
回答7:
ANSWERED ON OCTOBER 2017
run
export PATH=/Library/PostgreSQL/9.5/bin:$PATH
and then restart your terminal.
回答8:
As a postgreSQL newbie I found the os x setup instructions on the postgresql site impenetrable. I got all kinds of errors. Fortunately the uninstaller worked fine.
cd /Library/PostgreSQL/11; open uninstall-postgresql.app/
Then I started over with a brew install followed by this article How to setup PostgreSQL on MacOS
It works fine now.
回答9:
Mojave, Postgres was installed via
brew install https://raw.githubusercontent.com/lembacon/homebrew-core/bede8a46dea462769466f606f86f82511949066f/Formula/postgresql@9.6.rb
How to get psql in your path:
brew link postgresql@9.6 --force
来源:https://stackoverflow.com/questions/36155219/psql-command-not-found-mac