#373 — September 16, 2020

Web Version

Postgres Weekly

How (and Why) GitLab Upgraded from Postgres 9.6 to 11 — Some of the GitLab team explain the precise maintenance process they took to execute a major version upgrade of Postgres on their systems. And, even better, they recorded the whole 2 hour process so you can see how it was actually conducted! It doesn’t make for exciting viewing, but it’s a very uncommon look behind the ops curtain at a major company.


7 Best Practice Tips for Bulk Data Loading — Anyone who’s managed a database has needed to import a large quantity of data at some point, and anyone who’s tried this has rapidly discovered there are both fast and slow ways to do it 😉 This post looks at some some best practices for bulk importing data into Postgres databases.

Sadequl Hussain

Quickly Identify Slow-Running Postgres Queries in Datadog — Improve PostgreSQL performance in real-time with actionable alerts on slow-running queries and bottlenecks. Start proactively monitoring your PostgreSQL databases with a Datadog free trial.

Datadog sponsor

A Few Hidden Gems of Postgres 13 — With all the blog posts we’re seeing each week, it feels like Postgres 13 is the most anticipated release ever 😄 Here, Jonathan reflects on a handful of ‘hidden gems’ that’ll be turning up in the release.

Jonathan S. Katz

Picking Between Joins or Subqueries in Postgres: Lessons Learned — The author was advised “Try to use joins rather than subqueries.” Here, he works through an example of why and where the benefits are.

Steve Pousty

Index Improvements Coming to Postgres 13 — We’ve linked to numerous articles over the past few months about how indexes will be improved in Postgres 13 but this rounds up six of the biggest benefits in one place complete with code examples.

Ibrar Ahmed and Jobin Augustine

Which Partition Contains a Specific Row? — If you’re using hash partitioning, can you determine which partition contains a given row? Yes, you can.

Gabriele Bartolini

Using Postgres to Offload Real-Time Reporting and Analytics from MongoDB — Weighs up the advantages and disadvantages of moving read-heavy analytics off a primary MongoDB database to PostgreSQL.

Shawn Adams

Faster CI/CD for All Your Software Projects - Try Buildkite ✅ — See how Shopify scaled from 300 to 1800 engineers while keeping their build times under 5 minutes.

Buildkite sponsor

How To Install and Run Postgres using Docker

J Shree

pgtools: A Visual Way to Monitor Database Events in Real Time — A very new project built in Python and using Vue.js on the client side.

Lukas Loeffler

allballs? A Rather Odd Time Keyword in Postgres.. — There's a ‘childish behavior ahead’ warning on this one.. 😆 but via this tweet I learnt that Postgres (still) supports allballs as a keyword to mean 00:00:00. We’ll let you guess why, or you can read this explanation on the mailing list. Amazingly, as of the 13 betas, it's still there.

Postgres GitHub Repo