---
title: "Postgres 16 beta 2"
publication: "Postgres Weekly"
issue: 513
published_at: "2023-07-05"
canonical_url: "https://postgresweekly.com/issues/513"
---

Plus lots of ways to think about SQL joins, Google joins the pgvector party, and some Postgres podcast episodes. |        

#​513 — July 5, 2023 

[Web Version](https://postgresweekly.com/issues/513)  

Together with [![pgAnalyze\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/lhwcvgc1asd4fzaahty4.png)](https://us02web.zoom.us/webinar/register/9816878858336/WN_WsUsFxv_Q7OfzVWCE9uEew)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jp7lzg2ljmkm7pbtzsjb.jpg)](https://justinjaffray.com/joins-13-ways/)  

[Thirteen Ways of Looking at a Join](https://justinjaffray.com/joins-13-ways/) — Joining tables is a fundamental operation in both SQL and relational databases generally and there’s a _lot_ of ways to describe and think about them. Justin covers thirteen such ways, from them being a _“solution to N+1”_ or _“a flatMap”_ through to more arcane options like being _“paths through a graph”_ or _“a ring product.”_ 

Justin Jaffray   

🗣️ [Hacker News particularly enjoyed this post](https://news.ycombinator.com/item?id=36575784) and came up with a couple more ways, plus an idea for a title which we adopted.. thanks Nick Peterson 😉  

[Postgres 16 Beta 2 Released](https://www.postgresql.org/about/news/postgresql-16-beta-2-released-2665/) — The countdown to the eventual release of Postgres 16 continues with beta 2 including fixes for a variety of bugs picked up in beta 1. As always, the [exhaustive list of release notes](https://www.postgresql.org/docs/16/release-16.html) is available. 

PostgreSQL News   [![\](https://copm.s3.amazonaws.com/877ab18d.png)](https://us02web.zoom.us/webinar/register/9816878858336/WN_WsUsFxv_Q7OfzVWCE9uEew) 

[Webinar: Advanced Autovacuum Tuning and the Upcoming pganalyze VACUUM Advisor](https://us02web.zoom.us/webinar/register/9816878858336/WN_WsUsFxv_Q7OfzVWCE9uEew) — Learn about the most important VACUUM metrics, concepts like xmin horizon, how to prevent transaction ID wraparound, estimating bloat, and more. We walk through the upcoming pganalyze VACUUM advisor and showcase its per-table tuning recommendations. 

pganalyze sponsor   

[Google Hops Aboard the (pg)Vector Train](https://cloud.google.com/blog/products/databases/announcing-vector-support-in-postgresql-services-to-power-ai-enabled-applications) — Just last week, Jonathan Katz told us [vectors are the new JSON in Postgres](https://jkatz05.com/post/postgres/vectors-json-postgresql/) and right on the tail of that, Google has added pgvector support to both AlloyDB and Google Cloud SQL. You’re encouraged to use it alongside Google's vector-based [Vertex AI Matching Engine](https://cloud.google.com/vertex-ai/docs/matching-engine/overview)database. 

Ghai and Narasimhan (Google Cloud)   

[Heroku Introduces New Postgres Plans](https://blog.heroku.com/introducing-new-heroku-postgres-plans) — As one of the world’s largest caretakers of Postgres databases, it’s nice to see good news relating to Heroku. They’re helping users scale a little further with new plans offering up to 6TB of space, 768GB of memory, and 16K IOPS. If you need to ask [the price](https://elements.heroku.com/addons/heroku-postgresql).. 😅 

Jonathan K. Brown (Heroku)   

**IN BRIEF:** 

- 🔈 It's been a while since we linked to the [Postgres.fm podcast](https://postgres.fm/) but it's going from strength to strength. Recent episodes cover topics like [▶️ performing Postgres upgrades](https://postgres.fm/episodes/pg_upgrade-tricky-and-dangerous-parts), [▶️ using UUIDs](https://postgres.fm/episodes/uuid), and everyone's favorite extension, [▶️ pg_stat_statements](https://postgres.fm/episodes/pg_stat_statements).
- EDB's Afsane Anand is this week's [PostgreSQL Person of the Week](https://postgresql.life/post/afsane_anand/).
- The latest _PGSQL Phriday_ blogging challenge is live and Alicja Kucharczyk [invites you to blog about the pgBadger log analyzer.](https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/pgsql-phriday-010-you-re-invited-to-dive-into-the-world-of/ba-p/3859744) You have until this Friday to conjure something up.
- If you're experimenting with the new [Bun](https://bun.sh/) JavaScript runtime, [their latest release](https://bun.sh/blog/bun-v0.6.13#improvements-to-node-tls-and-node-net) adds support for connecting to Postgres over TLS.   

[Nearest Neighbor Indexes: What are pgvector's 'ivfflat' Indexes?](https://www.timescale.com/blog/nearest-neighbor-indexes-what-are-ivfflat-indexes-in-pgvector-and-how-do-they-work/) — pgvector uses the Inverted File Flat (ivfflat) algorithm for speeding up the approximate nearest neighbor search of the vectors you’re storing. This post explains the concept in a very accessible way, even if you’re new to the vector space. 

Arye and Sewrathan (Timescale)   

🧊 [Fun with Postgres Puzzles: Surface Area and 3D Slices](https://www.crunchydata.com/blog/fun-with-postgreql-puzzles-surface-area-and-3d-slices) — Greg’s journey of completing the 2022 [Advent of Code](https://adventofcode.com/) challenges with SQL and Postgres continues with more mind bending SQL, PL/pgSQL, and even a 3D visualization of sorts. Now if only ChatGPT could write this level of code, I’d be shocked.. 

Greg Mullane   

[Goodbye etcd, Hello Postgres: Running Kubernetes with an SQL Database?](https://martinheinz.dev/blog/100) — _Could_ you replace etc with Postgres at the heart of Kubernetes? Yes. Why? When the author says “why not”, it’s clear you’re enjoying the results of someone’s experimentation! But it’s certainly possible if you need to.. 

Martin Heinz   

[Epsio's PostgreSQL Incremental Materialized View](https://www.epsio.io/?utm_source=postgres_weekly) 

Epsio sponsor   

[Differential vs Incremental Backups in pgBackRest](https://pgstef.github.io/2023/07/03/pgbackrest_differential_vs_incremental_backup.html) — [pgBackRest](https://pgbackrest.org/) is a popular backup and restore solution that can make full, incremental, and differential backups. _Incremental_ backups are those containing everything that changed since the last full or incremental backup, but _differential_ backups can provide more resiliency by being based upon the latest full backup alone. 

Stefan Fercot   

[What Happens When a Postgres Data File Goes Missing](https://www.percona.com/blog/what-to-do-when-a-data-file-in-postgresql-goes-missing/) — If a data file associated with a table goes ‘missing’, perhaps due to an OS or hardware problem, you’re probably going to have a bad time, but here are a few things to consider doing. 

Abhishek Deb    

Code and Tools  

- [PostgresML 2.7](https://github.com/postgresml/postgresml) – Perform machine learning operations from within Postgres using SQL. v2.7 adds support for online unsupervised clustering algorithms. It has also recently added support for [certain types of _quantized_ LLM models](https://postgresml.org/blog/announcing-gptq-and-ggml-quantized-llm-support-for-huggingface-transformers) too.
- [FerretDB 1.5](https://github.com/FerretDB/FerretDB) – A MongoDB alternative using Postgres (or, as of [this release](https://github.com/FerretDB/FerretDB/releases/tag/v1.5.0), SQLite) for storage.
- [Supabase Realtime 2.18](https://github.com/supabase/realtime)
 ↳ Broadcast, presence, and Postgres changes over WebSockets.
- [pgrx 0.9.7](https://github.com/tcdi/pgrx/releases/tag/v0.9.7)
 ↳ Build Postgres extensions with Rust.
- [pspg / Postgres Pager 5.7.8](https://github.com/okbob/pspg)
 ↳ The Unix pager for tabular data.    

**Got a new email?** You can [change your address here](https://postgresweekly.com/edit_subscription/*|UID|*). 

--- 

**Bored of us?** [Click here to stop getting Postgres Weekly](https://postgresweekly.com/leave/*|UID|*). 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada. 

[Stop getting this newsletter](https://postgresweekly.com/leave/*|UID|*).
