#369 — August 19, 2020

Web Version

Postgres Weekly

Postgraphile: Quickly Get a GraphQL API for Your Postgres Database — Work on v5 of this popular Node.js tool is underway, but meanwhile we get a 4.8 release which supports ‘enum tables’ and all of Postgres’s built-in geometric types. If you want to offer a Postgres database up over a GraphQL-based API, it’s worth checking out.


Postgres 12.4, 11.9, 10.14, 9.6.19, 9.5.23, and 13 Beta 3 Released — A flurry of Postgres releases to fix a variety of bugs but, more importantly, two security vulnerabilities (in versions 9.5-12 only). We’re also reminded that Postgres 9.5 will stop receiving fixes after February 2021.

PostgreSQL Global Development Group

Real-Time Postgres Performance Monitoring — Collect out-of-the-box and custom PostgreSQL metrics and correlate them with data from your distributed infrastructure, applications, and logs. Gain real-time performance insights and set intelligent alerts with Datadog. Start a free trial.

Datadog sponsor

Building a Recommendation Engine Inside Postgres with Python and Pandas — Learn how you can leverage Python and Pandas from directly inside Postgres to build your own recommendation engine.

Craig Kerstiens

An Introduction to Recursive Queries — Recursive queries (built using WITH) let you do interesting things with SQL and aren’t too difficult to understand, particularly with the simple practical examples given here.

Laurenz Albe

SQLite 3.33.0 Released (With a Postgres-Inspired Feature) — We don't often cover SQLite in this newsletter, but when the world’s most heavily used database engine gains support for UPDATE FROM and aims to be compatible with Postgres's implementation, why not? 😄

SQLite Team

Timescale Cloud Extends to 76 Regions Across 3 Clouds — TimescaleDB essentially extends Postgres with significant time-series data functionality and Timescale Cloud is the creator’s commercial ‘TimescaleDB in the cloud’ service.


Envoy 1.15 Introduces a New Postgres Extension with Monitoring SupportEnvoy is a popular service proxy for cloud applications, and it can now ‘speak’ Postgres’ wire protocol! This post digs into why this plugin was developed, what functionality it currently implements, and what the roadmap looks like for future releases.


Running Multiple PgBouncer Instances with systemdPgBouncer is a connection pooler that runs as a single process, but with a little work you can run multiple instances for different virtual hosts.

Peter Eisentraut

A Look at Keyset Pagination — Last week, Bruce covered pagination approaches in general and is now focusing on one technique, using LIMIT and OFFSET alongside WHERE. He’s also dug into how it works in practice while items are being inserted or deleted.

Bruce Momjian

CockroachDB: Scalable, Distributed PostgreSQL — Never shard a Postgres instance again. Meet CockroachDB, the Distributed SQL database that’s naturally resilient and provides out-of-the-box scalability.

Cockroach Labs sponsor

Iterators in Postgres with Lateral Joins“When the keyword LATERAL is added to your join the output will now apply the right hand part of the join to every record in the left part of the join.”

Steve Pousty

How We Used Postgres Extended Statistics to Achieve a 3000x Speedup — Big numbers like that always make me put my cynical eyeglasses on, but in this case it’s a neat technical tale of encouraging Postgres to do the right thing.

Jared Rulison

PostGIS 3.0.2, 2.5.5, and 2.4.9 Released — Minor bug fix and performance enhancement releases for the popular geospatial extension.

PostGIS Developers