Thank you for your encouragement, submissions, and patronage over what has been an unusual year. Postgres Weekly has now reached the end of the year, so we're doing our traditional look back at what's happened over the previous year. I hope you have a happy holiday season and I'll see you next on January 6, 2021.
Peter Cooper, your editor

P.S. If you're feeling generous this festive season, we're looking for testimonials and feedback about Postgres Weekly to use in future. Thanks!

#386 — December 16, 2020

Web Version

Postgres Weekly

Your top 5 most clicked Postgres items of 2020

1.  How One Word Unlocked a 9x Performance Improvement — The creator of a personal finance tool experienced a user whose data caused a flood of INSERTs large enough to cause a problem. Here’s the tale of how a simple RETURNING clause enabled a huge optimization in the process.

James Long

2.  10 Things I Hate About Postgres — Earlier in the year we had an upbeat ‘Postgres is the world’s best database’ item, but it seems you like to take the rough with the smooth and clicked a lot more on this item instead ;-) Rick reminds us that no software is perfect and that even Postgres has flaws 🤭

Rick Branson

Highly Available PostgreSQL with Physical Replication — This white paper discusses the scenarios when designing a High Availability architecture for PostgreSQL. It looks at the desirable features and benefits of delivering High Availability in a business environment. Download white paper.

EDB sponsor

3.  Postgres Pagination Approaches — Most webapp users don’t want to see a list of thousands of items at once, so pagination is often adopted as a way to ‘page’ through a larger group of items in more manageable chunks. There are several ways to achieve this with Postgres with various tradeoffs.

Bruce Momjian

4.  Postgres 13 Incompatibilities To Be Be Aware Of — Postgres 13 was released this year and while Postgres tends to be reasonably backward compatible over time, there are some changes worth being aware of before making a move, if you haven't yet.

Ibrar Ahmed

5.  How Does Postgres Fare on the Arm-Based M1 MacBook Pro? — Apple has begun to roll out machines using its own Arm-based M1 CPUs and the initial performance improvements have been impressive. But while macOS runs faster than ever, what about Postgres? Spoiler alert.. WOW!

Greg Smith

Honorary mentions:

  1. A SQL Style Guide
  2. The Best Medium-Hard Data Analyst SQL Interview Questions
  3. Recursive SQL Queries with PostgreSQL
  4. 7 Best Practice Tips for PostgreSQL Bulk Data Loading
  5. On Binary Data Performance in Postgres

Top Postgres tools and projects of 2020

A Tool to Make EXPLAIN ANALYZE Plans More Readable — A long standing (over 11 years!) Web-based tool that lets you paste in the result of EXPLAIN ANALYZE queries and see a more easily understandable version. Why did we link it again in 2020? It received a variety of updates.

Hubert depesz Lubaczewski

pg_timetable: Advanced Postgres Job Scheduling — A job scheduler for Postgres implemented from scratch in Go that’s not just about running single queries at set times but for executing more complicated sequences of operations over time. GitHub repo.

Hans-Jürgen Schönig

More Postgres, Less Administration — Developer friendly, production ready. Crunchy Bridge is the better option for your Postgres hosting.

Crunchy Bridge sponsor

Postgres Observability: A Diagram of Views and Functions for Observing Postgres — An interactive diagram that provides a simplified view of system views and functions relevant to monitoring Postgres and tracking statistics. This is a Postgres 13 flavored update of a previous effort and Alexey explains more here.

Alexey Lesovsky

pgModeler: A Postgres Database Modeler — An easy way to create and edit database models in a visual way. It’s packaged up as a paid product but is also open source so you can build your own.

Raphael Araújo e Silva

PostgreSQL Explain Visualizer 2: A Vue.js Component to Show Execution Plans — Less a standalone tool and something you’d use when building your own Postgres tooling. There is, however, a demo here. The output is nifty.


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

Lukas Loeffler

PgHero 2.7: A Performance Dashboard for Postgres — Built in Ruby. And, yes, we have a newsletter for that.

Andrew Kane

pg_flame: A Flamegraph Generator for EXPLAIN ANALYZE Output

Marcus Gartner, et al.

A quick favor, if you will..?

If you made it this far, you probably really enjoy the newsletter.. or are at least curious about everything it contains each week! :-) We're looking for testimonials (to use on our home page) or even just general feedback and it would be really appreciated if you could leave us a testimonial here. Thank you in advance!