Today's tip is how to have a lean mean PostgreSQL client machine by only installing the needed tools. Why install all of PostgreSQL when your database server is up in the cloud, managed like a Compose PostgreSQL.
Most instructions for installing the PostgreSQL tools assume you want the database installed too. It's a reasonable assumption if you're dealing with users who don't have access to PostgreSQL in the cloud or on a remote server.
So, in this PostgreSQL Tip, we'll look at how you can install just psql on Windows, Linux and macOS, allowing you to quickly get up and running and connected to your Compose PostgreSQL service. We'll cover:
- macOS with Homebrew
- Ubuntu 16.04 and 18.04
- Red Hat Enterprise Linux 7 (and others)
- Fedora 27 and 28
- Windows 10
Let's dive in.
macOS with Homebrew
We recommend Homebrew as a package manager for macOS. With Homebrew in place you'll be able to install numerous applications, usually with the programs available in
/usr/local/bin. Homebrew's package for the PostgreSQL client tools is the
libpq package. Brew makes it easy to install:
brew install libpq
There's a small catch though: libpq won't install itself in the
/usr/local/bin directory. To make that happen, you need to run:
brew link --force libpq
Which will symlink all the tools, not just libpq, into the
/usr/local/bin directory. You're ready to run psql and start connecting now.
Ubuntu 16.04 and 18.04
Linux systems, unlike macOS, have a package manager built in. For Ubuntu (and Debian-based distributions) thats's the
apt command. The PostgreSQL client is distributed in the appositely named
postgresql-client so all you need to do is run:
sudo apt-get install postgresql-client
This will install the PostgreSQL 10 client, which can happily connect to earlier versions of PostgreSQL.
Red Hat Enterprise Linux 7 (and others)
For Red Hat Enterprise Linux (or RHEL as it's usually written), there's a little more set up to do than Ubuntu. For RHEL, the package manager is
yum. First, you need to point
yum at the PostgreSQL repository like this:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm
Yum goes to that URL and configures itself to use that package repository. With that done, you can add packages from it by name:
sudo yum install postgresql10
This installs just the client packages. If you are wondering where to find that repository URL, head to Linux Downloads (Red Hat Family) where you'll find a form which will let you select the PostgreSQL version, platform and architecture and it'll give you the appropriate instructions for that Red Hat variant - that includes CentOS, Scientific Linux, and Oracle Enterprise Linux. It also includes Fedora but read on...
Fedora 27 and 28
Fedora's default repositories already have a PostgreSQL client available from them. So For Fedora 27 and 28 and later, install the PostgreSQL client from the terminal with:
sudo dnf install postgresql.x86_64
and that's all you need to do.
On Windows 10, there's a bit more work to be done. We currently recommend using the PostgreSQL installer from Enterprise DB. It's a full installation package for PostgreSQL on Windows but you can set it to only install the command line tools like psql. Click on that link and select PostgreSQL 9.6 or 10 and Windows 10 as the platform. Once the executable file is downloaded, run it and you'll see the following options:
Select only the "Command Line Tools" because we don't need the server installed. After it installs, you'll need to set up your Windows environment variables so that you can use the psql client in the command prompt.
Go to the Control Panel > System and Security > System and select Advanced system settings.
From there you'll see a box called System Properties. Select Environment Variables. A window will appear with the two sets of environment variables. In the top set, marked "User variables for..." select the
PATH entry and then click the Edit button. An edit window will appear. Click New and add the path to the psql client. Your path will depend on where PostgreSQL installed, but typically that would be:
After that, click OK a couple of times to go back to the desktop. Start a new Command Prompt and you should be able to run psql. With no server set and no server running locally, you'll see the following which means that it's working.
Start Connecting ...
We've covered setting up the PostgreSQL client for multiple platforms so start connecting. If you have suggestions on what you'd like to see covered in our next PostgreSQL Tips, drop us a line to firstname.lastname@example.org and we'll see how we can tip you too.
attribution Jan Kahánek via Unsplash