#​591 — March 6, 2025

Web Version

Together with  Microsoft

Postgres Weekly

FerretDB 2.0: An Open Source MongoDB Alternative — MongoDB!? What if I told you this is Postgres-powered MongoDB? FerretDB is an implementation of MongoDB built on top of Postgres and Microsoft’s DocumentDB extension and, unlike MongoDB, it’s Apache 2.0 licensed. GitHub repo.

Farkas and Palazhchenko

A Roundup of Postgres Query Plan Visualization Tools — The EXPLAIN command, along with its many options, gives you a deep view into how Postgres plans to execute a query and is a great way to figure out why certain queries are slow. The raw output can be tricky to read, though, but there are several tools that can help break things down.

Michael Christofides

The Schedule is Out for POSETTE: An Event for Postgres!POSETTE 2025, a free & virtual developer event, is happening June 10-12. The speakers and schedule were just announced! Join experts via 4 livestreams to learn about the world's most advanced open source relational database. Get the details.

Microsoft sponsor

PGConf.dev 2025: May 13-16 in Montréal, Canada — The successor event to PGCon, the PostgreSQL Development Conference is one of the community’s biggest annual get-togethers with a particular focus on bringing together Postgres’ contributors. Registration is open, but the big news this week is the schedule is now live and it’s a packed one.

Slonik Events Canada

👥 Extension Ecosystem Summit 2025 will also be taking place as part of PGConf․dev, and Postgres Extensions Day will be taking place on May 12 (but is not affiliated with the main event).

QUICK BITS:

Validating Data Types from Semi-Structured Data Loads — Postgres 16 and up offer the pg_input_is_valid function, a quick way to determine if a supplied value can be parsed into a specified type. Elizabeth shows how this can be used validation checks in a few situations.

Elizabeth Christensen (Crunchy Data)

New Random Functions in Postgres 17 — Postgres 17 introduced some new random number generation functions so getting an integer between 1 and 10 is now as easy as random(1,10).

Leo Hsu and Regina Obe

📄 Representing Graphs in Postgres with SQL/PGQ – One of a few approaches we’ve seen lately. John Nevin (EDB)

📄 Vector Search at 10,000 QPS in Postgres with VectorChord Junyu Chen (VectorChord)

📊 Postgres 17.4 vs Sysbench on a Large Server Mark Callaghan

📺 I Replaced My Entire Tech Stack with Postgres Fireship

🛠 Code and Tools

sqldef 1.0: Idempotent Schema Management for Databases — A Go-powered CLI tool and WASM library for diffing SQL schemas (demo here). Supports MySQL, Postgres, SQLite and SQL Server. Built by one of Ruby’s core team members, too.

Takashi Kokubun

pytest-postgresql 7.0: A Pytest Plugin for Testing Postgres-Using Python Apps — A plugin for the Pytest Python testing framework for managing fixtures when testing against a Postgres database.

Pytest