
Install Postgres Database On Mac For Use With Python
This site was created to make the VST/AU version of it available to the public. Home What is TunefishTunefish is a very tiny virtual analog synthesizer. It is developed to fit into about 10kb of compressed machine code while still producing an audio quality that can compete with commercial synthesizers. This plugin, unlike the version of TF which is used in 64k intros of our group Brain Control is of course larger, mainly because it has a UI and uses the excellent Juce framework for C.
These are my notes for running Postgres in a Docker container for use with a local Django or Rails development server running on the host machine (not in Docker). Running in Docker allows keeping my database environment isolated from the rest of my system and allows running multiple versions and instances. (I previously had a problem where Homebrew upgraded Postgres when I didn't expect it to and my existing database became incompatible. Admittedly, I didn't know Homebrew well, but it was frustrating.) Disadvantages of Docker are it's another layer of abstraction to learn and interact with. We use Docker extensively at work, so from a mental overhead point of view, it's something I wanted to learn anyways. Currently I use the Homebrew Postgres for work, and Postgres in Docker for personal projects. I also wrote some notes on Postgres and Homebrew here.
Install Docker
In this article, we’ll walk through the process of installing a Postgres database on a Mac OS X machine and set it up for Ruby on Rails development. Install Postgres Database with Homebrew Homebrew is a popular package manager for OS X.
- Install Docker for Mac: https://docs.docker.com/docker-for-mac/install/
OPTION 1: Run Postgres using a single Docker command
Run a postgres container- uses the official docker postgres 11 image
- uses a named volume,
my_dbdata
, to store postgres data - exposes port 54320 to the host
- sets the container name to
my_postgres
- uses the
-d
flag to run in the background
OPTION 2: Run Postgres using Docker Compose
Create adocker-compose.yml
fileCreate a new file docker-compose.yml
:

- uses docker compose file version 3
- sets up a service named
'db'
(this name can be used with docker-compose commands) - uses the
postgres:11
image from hub.docker.com - creates a container named
'my_postgres'
- connects port 5432 inside Docker as port 54320 on the host machine
- uses a named volume,
'my_dbdata'
, for storing the database data. Even if the container and image are deleted, the volume will remain unless explicitly deleted usingdocker volume rm
. - for more information, see the Docker Compose file reference
Pull the postgres image from hub.docker.com, create a container named 'my_postgres', and start it in the background:
See that it's working
See the logs:
Try running psql:
hit CTRL+D to exit
For other commands such as starting, stopping, listing or deleting, see my Docker cheat sheet.
Create a database
Connect using Python and psycopg2
Create a new file named myscript.py
Run it