Managing multiple PostgreSQL installs via Homebrew

Reading time ~1 minute

Following on from this post, you probably have multiple versions of PostgreSQL installed on your Mac. In that post, I added an example function to help you manage all these concurrent installs. Today, I’m back with a full-fledged shell script to help manage all this. Without further ado, the script:

But what does it do? It’s pretty simple actually. When you call this script, you tell it what version of PostgreSQL you want:

doug@Douglass-MacBook-Pro ~ » pg 9.6

and then the script does the following:

  • checks if the requested version is installed, and installs it if not
  • checks if another version of PostgreSQL is running, and stops it
  • checks if another version is linked as the active version, and unlinks it
  • links the requested version as the active version
  • sets PGDATA to point to the requested version’s data cluster
  • does an initdb for the requested version if needed
  • starts the requested version’s cluster

I’ll be the first to admit that the script could use additional work, but it’s functional enough to start using today. As I continue to improve the script, I’ll update the gist with those changes, so check back every so often.


When you cannot get there from here

Connecting to a PostgreSQL instance isn't hard generally, but sometimes you can run into issues. Sometimes a port isn't open on a firewal...… Continue reading

Installing pgBackRest on OSX

Published on June 14, 2017

Goodbye, Loui boy

Published on February 16, 2017