#​482 — November 23, 2022

Web Version

Together with  Crunchydata

Postgres Weekly

The Power of Variadic Unnesting — There’s no obvious "big news" this week, so let’s go with “neat Postgres feature!” (that dates from Postgres 9.4, no less). This is a look at how string_to_array and the UNNEST table function can help to normalize messy data (from a spreadsheet in this case). As the author says: “I can’t do anything this sweet in other databases I have used.”

Leo Hsu and Regina Obe

Timescale's 'Bottomless' Object Storage Layer on Top of S3 — Timescale continues to innovate with its cloud service, this time with a (private beta only, for now) object storage mechanism built on Amazon S3. The idea is data can be tiered across disk and S3 while keeping the access transparent.

Mike Freedman (Timescale)

We’re All About Great Support“I’m learning so much about @PostgreSQL from the @crunchydata support tickets I’ve filed. They know their Postgres, that is for sure!” - @frigidcode

Crunchy Bridge sponsor

A Serverless Architecture for Analyzing Postgres Logs with pgBadgerpgBadger is a log analysis tool (written in Perl) that produces reports showing statistics about database traffic, locks, slowest queries, and more. This post focuses on deploying it in a serverless architecture where AWS RDS sends logs to S3, through SQS and AWS Lambda, then to pgBadger which outputs its reports to S3 again… whew!

Sarabu, Dave, and Townsend (AWS)

A Query Boost by Using ANY Instead of IN? — Matt makes a case for using = ANY(array) (or SOME) in more cases where you might otherwise use IN(list).

Matt Hudson


Do Different Equality Predicates Make a Difference? — Namely, IN vs =. Spoiler: No, for Postgres 13, at least. But it’s always worth checking due to behavior differences between databases.

Frits Hoogland

Using Emacs as an Editor in psql — By way of emacsclient
Luca Ferrari

🛠 Code and Tools

The Dalibo Postgres Execution Plan Visualizer — Give this EXPLAIN ANALYZE's output and take a better view over what Postgres plans to do with your query. This has been around a while and continues to see frequent updates, including this very week. It's open source if you want to use it locally or within an app.


Squeal: A 'Deep Embedding' of SQL in Haskell — Essentially a client library that brings SQL concepts and types natively into Haskell so you can put together queries as functionally as possible.

Morphism Tech

Dynaboard: The Pro-Code Web App Builder Made for Developers

Dynaboard sponsor