#​480 — November 9, 2022

Web Version

Together with  Dynaboard logo

Postgres Weekly

Postgres 15, A Billion Transactions Later — Last week B-tree and BRIN indexes battled it out, now it’s 2017’s Postgres 10 vs Postgres 15! Kaarel put them both under a billion transaction stress test and made some observations, including v15’s improved storage efficiency.

Kaarel Moppel

Postgres Insider Terminology — Want to seem like one of the cool Postgres kids? No? Well, tough, Paul is here to bring us up to speed with tuples, TOAST, relations, pages, and more. If you want to go a step further, did you know Postgres has an official glossary too?

Paul Ramsey

Dynaboard: The Pro-Code Web App Builder Made for Developers — Build high performance public and private web apps in a collaborative — code forward — WYSIWYG environment.

Dynaboard sponsor

On Rewriting OR to UNION in Your Queries — A few years ago, Laurenz wrote about avoiding OR for performance reasons, instead leaning on a UNION based approach. But is it always a winner, and why doesn’t Postgres optimize for this anyway? Laurenz has some answers.

Laurenz Albe

IN BRIEF:

  • Amit Kapila summarizes the enhancements made to logical replication in Postgres 15.

  • This week's Postgres Person of the Week is Wilfried Roset who answers some questions about his work as a database reliability engineer at OVHcloud.

  • Percona's Kai Wagner went to his first Postgres conference ever and what a way to start with PGConf.EU 2022. His writeup goes into a lot of detail both about the event and what he got out of it.

  • Are all NULLs the same? Not in Postgres 15, they aren't.

  • 📅 The first Citus Con event was such a success.. they're doing it again! Citus Con 2023 is a Postgres event taking place April 18-19, 2023, and it'll be free, virtual, and global like before.

  • bit.io has now launched its serverless Postgres service.

How LISTEN and NOTIFY Promote High Availability at the App Layer — Shaun looks at some alternatives to using triggers for sending notifications on a fictional social network such as leaning on Postgres’s built-in pub/sub functionality (via NOTIFY and LISTEN) to outsource work to an external daemon process.

Shaun Thomas

Using JSON Functions to Navigate Restaurant Reviews — Practical examples of using Postgres’s JSON querying functionality are always welcomed by me. This starts from the basics but moves on to things like creating a histogram of restaurant ratings in a single query.

Francesco Tisiot

What is PostgreSQL Commitfest and How to Contribute — A time-tested method for contributing to the core Postgres code.

Pavel Borisov (Supabase)

🛠 Code and Tools

Orafce 4.0: Oracle Compatibility Functions for Postgres — Orafce implements some of the functions from Oracle that might be useful for users migrating to Postgres. v4.0 drops Postgres 9.6 and 10 support and merges in orafce_sql, a Postgres subset of Oracle’s DBMS_SQL interface.

Orafce

Monitor Custom PostgreSQL Metrics with Datadog’s OOTB Dashboards

Datadog sponsor

pg_builder 2.1.0: A Query Builder in PHP for Postgres — Curiously it contains a partial reimplementation of Postgres’s query parser and works by converting queries to and from an AST. v2.1 boasts improved Postgres 15 support.

Alexey Borzov

  • pgmetrics 1.14
    ↳ Collect info & stats from a running PG server.

  • Leoric 2.9
    ↳ JavaScript ORM for MySQL, Postgres, & SQLite.

  • Cornucopia 0.9
    ↳ Generate type-checked Rust from SQL.

  • pglast 3.17
    ↳ Python-based PG SQL statement parser.

  • DenoDB 1.1
    ↳ MySQL, SQLite, MariaDB, Postgres and MongoDB ORM for Deno.

  • sqlc 1.16 – Make type-safe Go code from SQL.

  • Prisma 4.6 — ORM for Node + TypeScript.

  • pspg 5.5.9 – Rich Unix pager for tabular data.