#​501 — April 12, 2023

Web Version

Together with  EDB

Postgres Weekly

📄  A Postgres JSONB Functions and Operators Cheatsheet — Bills itself as a cheatsheet for the various JSONB functions in Postgres with quick examples of each, along with related operators. 📈 Link to PDF.


Supavisor: A Postgres Connection Pooler from Supabase — A new Postgres connection pooler from the folks behind Supabase Realtime. It’s built with Elixir (an Erlang VM/BEAM language) and specifically designed for multi-tenancy. It can be run as a cluster or as a single node. The initial benchmark numbers are promising.


Three Must-Read Extreme High Availability Success Stories — Five 9s uptime is essential for mission-critical databases. Here's how a telecommunications company, a payment platform and project management organization cut costs, achieved rolling maintenance upgrades and ensured data-loss protection.

EDB sponsor

SQL Maxis: Why We Replaced RabbitMQ with a Postgres Queue — The provider of a data warehouse syncing tool tore out RabbitMQ from their system and replaced it with a Postgres-backed queue. Read on to learn why, but ultimately they found the Postgres solution to improve reliability and resiliency and it suited their use case better.

Charles Chretien (Prequel)

FerretDB 1.0: An Open Source MongoDB Alternative — Built in Go, FerretDB converts MongoDB’s wire protocol queries into SQL handled by Postgres on the backend, so you can reproduce the MongoDB experience but without its controversial license change. Another example of Postgres behind the scenes!

Peter Farkas


Parallel Aggregates in Postgres 16 — Parallel aggregates speed up processing of aggregate functions on large data sets by distributing them. Not all aggregate functions support parallelization, but string_agg() and array_agg() functions now do in Postgres 16.

Pavlo Golub

Updating the Cost Limit on the Fly in Postgres 16+ — This will solve a common issue where VACUUM runs too slowly by allowing for quicker absorption of cost limit changes. Currently, modifying the limit only affects future autovacuum operations, but in future it will affect all workers “almost as soon as you reload the configuration.”

Robert Haas

Setting Up Postgres Failover and Failback, the Right Way“This blog was written to help beginners understand and set up server replication in PostgreSQL using failover and failback.” And, importantly, the up to date way.

Tristen Raab

Watch: How to Use the Postgres Query Planner to Debug Bad Plans and Speed Up Queries

pganalyze sponsor

▶  Path to Citus Con: Working in Public — As part of a warm up to next week’s Citus Con, prolific Pythonista Simon Willison and Citus Data’s Marco Slot joined Claire Giordano and Pino de Candia for an hour long conversation about their work on various open source projects.

Simon Willison podcast

Pgpool-II Use Cases and BenefitsPgpool-II is a popular connection pooler and load balancer.

Kai Wagner (Percona)

PL/Rust Just Shipped: An Easy Way to Try It Out

Yurii Rashkovskii

credcheck v1.0: An Extension for Credential Checking — Enables credential checks during user creation, password change, and user renaming by defining a set of rules that allows specific credentials, can reject others, and enforce password expiry, if needed. GitHub repo.


  • Norm 2.8 – A Nim ORM for SQLite and Postgres

  • QuestDB 7.1 – Java-powered time-series database with Postgres wire protocol compatibility.

  • pgwire 0.13 – The Postgres wire protocol implemented in a Rust library.