#​529 — November 8, 2023

Web Version

Together with  Epsio

Postgres Weekly

Postgres Encryption: The Available Options — When it comes to encryption, you’re on your own with vanilla Postgres out of the box, but various layers of data security are available from those provided by your hardware to Postgres extensions (e.g. pgsodium) or app-level defences. This post provides a brief overview, and also provoked an extensive Hacker News discussion on the topic.

Matt Palmer

Using Multiple Triggers on the Same Table — What happens if you deploy many triggers on the very same table? What order do the multiple triggers fire in? Hans-Jürgen indulges in some of his usual experimentation to find out!

Hans-Jürgen Schönig

Streaming PostgreSQL Queries with Epsio — Boost the performance of your most complex queries by plugging Epsio into your database. Epsio constantly prepares and updates results for queries you define whenever the underlying data changes, without ever recalculating the entire dataset.

Epsio sponsor

Writing a Storage Engine for Postgres: An In-Memory Table Access Method — Phil summed up this tour de force post best: “I’ve been working this week to understand Postgres Table Access Methods for alternative storage engines. Especially challenging because the documentation is pretty sparse and few minimal implementations exist. I wrote up my approach!”

Phil Eaton

✍️ Phil's post comes from a recent effort to encourage folks to 'dig into Postgres internals' and write about it. This has resulted in some fascinating, but particularly technical, posts such as Non-Local Jumps with setjmp and longjmp.

Timescale Introduces Dynamic PostgreSQL — Boldly claiming to be ‘the next evolution of the database’, this is ultimately an innovation upon Timescale’s Postgres platform, but an interesting one nonetheless. Dynamic PostgreSQL provides a consistent baseline of performance but can instantaneously scale compute within a pre-defined range – they call this model “buy the base, rent the peak.”

Freedman and Godeke (Timescale)

IN BRIEF:

🤯  SQL Scoping is Surprisingly Subtle and Semantic — Justin presents us with a very simple set of SQL queries and asks us to predict what they’ll return. I’d be surprised if you got them right. A fun look at some potentially unintuitive (but standardized) SQL behavior.

Justin Jaffray

How Timescale Scaled Postgres to 350 TB+ (with 10B New Records/Day) — For their new Insights database observability tool, specifically.
Rob Kiefer (Timescale)

Easy Row Level Security (RLS) Policies in Supabase and Postgres
Max Lynch

How To Install Postgres and pgAdmin on WSL2
Andraz

A Kubernetes-Based pgAdmin Tutorial
Tristen Raab

Code and Tools

pgext: A Bare, Minimal Postgres Extension — And there’s no Rust in sight! This is a small C based extension template that provides the bare minimum to be considered a usable Postgres extension.

Phil Eaton

DoltgreSQL: Postgres-Compatible Database with Version Control ConceptsDolt is a long standing Go-powered database providing a ‘git for data’ type experience with branching, cloning, merging and more, but using the MySQL wire protocol. DoltgreSQL offers the same but over the Postgres wire protocol - hurrah!

Daylon Wilkins

Find Your Partner in Code and Work #LikeABosch

Bosch sponsor

PGLoader: A Data Loading Tool for Migrating to Postgres — A long-standing data loading tool that supports parallelism and can load in data that may be partially erroneous but without stopping (as \copy might). Recently referenced in this MySQL to Postgres migration story.

Dimitri Fontaine