Using PostgreSQL with iTerm (and oh-my-zsh)
1 minutes to read
psql is installed by default with PostgreSQL. I've been using it for a few hours now, and think it's a nifty, lightweight way of interfacing with Postgre. But I didn't like the fact that the default app ran in the default terminal, there's all sorts of weird text rendering issues, and I don't have the comfort of my own terminal setup.
The text-rendering, tab support, intuitive copy/pasting and searching features make terminal usage much more comfortable, which is why I wanted psql to open in my usual iTerm2 window.
So, I initially found the psql binary in my Library (mine was at
/Library/PostgreSQL/15/bin). I thought it would be a case of just adding that to my path and running
psql in my terminal... While there may be a way to get this to work, I found that this was using my MacOS profile when signing into PostgreSQL, which I am unable to do (my module requires me to sign in with different credentials).
I found that the binary (mentioned above) shouldn't be the entry point, instead
/scripts contains a shell script called
runpsql.sh, which prompts you to enter the database, port, username and password, which it then passes to the binary. Perfect!
So... All you need to do is add this line to your
.zshrc file (mine was at
alias psql="sh /Library/PostgreSQL/15/scripts/runpsql.sh"
Of course, your path may differ, you should make sure you check the file is there before continuing.
Just restart your terminal, type
psql, enter the details for host/port/username/password, and you should be looking at your PostgreSQL database.
If you need a quick test, try