Early look: PostgreSQL on Fly. We want your opinions.

Hey everyone, we have a few updates to report:

  1. We have replaced the Stolon proxy with HAProxy. This should provide a nice stability improvement, as it allows us to control routing through the use of local health checks rather than having to hit our remote Consul cluster for state information. This was causing quite a few issues last week when our Consul cluster was under heavy load.

  2. We’ve made some nice improvements and bug fixes to our process manager. Now, in the event a particular process crashes, we will attempt to restart/recover that individual process before letting it crash and reschedule the entire VM.

  3. Image version tracking and updates have been made available to those of you running our official postgres-ha images.

$ flyctl image show --app md-postgres-6
Update available flyio/postgres:12.8 v0.0.4 -> flyio/postgres:12.8 v0.0.5
Run `fly image update` to migrate to the latest image version.

Image details
  Registry   = registry-1.docker.io
  Repository = flyio/postgres
  Tag        = 12.8
  Version    = v0.0.4
  Digest     = sha256:bc5aa30e3b6267fe885d350c6e7e5857a03f09ec05b290f328fd32b69ddd0eb1

Latest image details
  Registry   = registry-1.docker.io
  Repository = flyio/postgres
  Tag        = 12.8
  Version    = v0.0.5
  Digest     = sha256:bd0d6f8c5067ebe38b8d9c28706e320c296c610ab39cee274e102b6599d7bc7c
$ flyctl image update --app md-postgres-6
? Update `md-postgres-6` from flyio/postgres:12.8 v0.0.4 to flyio/postgres:12.8 v0.0.5? Yes
Release v55 created

You can detach the terminal anytime without stopping the update
Monitoring Deployment

3 desired, 3 placed, 3 healthy, 0 unhealthy [health checks: 9 total, 9 passing]
--> v55 deployed successfully

Note: The image update process will perform a rolling restart against your Postgres cluster. Connected services may experience some brief disruptions while the update is being deployed.


If you have any feedback, questions, concerns, etc. Let us know!

3 Likes