#557 — June 5, 2024 |
🫣 We took a break last week, but forgot to notify you in advance - sorry! You didn't miss anything, and we're catching up with the past two weeks today. Luckily, as you'll see in a moment, it wasn't just us taking a break.. :-) |
|
Postgres Weekly |
Why Upgrade Postgres? Here's Exactly Why — It’s been over two years since we linked to this neat resource that lets you pick ‘from’ and ‘to’ versions and see what Postgres gained in the interim. Even this 16 to 16.3 example is packed with all sorts of interesting details. Hubert depesz Lubaczewski |
⭐ PostgreSQL 17 Beta 1 Released — Time wasn’t on our side with our break last week, as the first beta of Postgres 17 landed just after we sent the last issue! Nonetheless, this remains big news, and the post does a good job of rounding up what’s new here. PostgreSQL Global Development Group |
Don't Miss POSETTE: An Event for Postgres — POSETTE is almost here! Join us on June 11-13 for POSETTE, the largest free virtual Postgres event. Featuring 42 talks across 4 livestreams all about the world’s most advanced open source database. Brought to you by the Postgres team at Microsoft. Microsoft sponsor |
💡 Claire Giordano has also put together a fantastic guide to POSETTE and the various talks, given by folks across the entire Postgres community, and other activities taking place next week. |
How Engaging Was PGConf.dev Really? — PGConf.dev took place last week and was a great success but did it truly engage core developers? Peter worked out it caused the longest hiatus in core commits in over 20 years! Peter Eisentraut |
Why Do I Have a Slow Laurenz Albe |
Controlling Resource Consumption with Linux's cgroup2 — Control groups constrain the resources allocated to processes and can be used to keep Postgres in check, too, particularly in ‘noisy neighbor’ multi-tenant scenarios. Jobin Augustine |
Circular Dependencies in Foreign Keys — A needs B and B needs A. Uh-oh! How can such circular dependencies occur and how can they be worked around? Hans-Jürgen Schönig |
Creating Custom Postgres Extensions with Rust — pgrx is (probably) the way to go, and here’s some pointers to getting started. Radim Marek |
Building a RAG App with Postgres and pgvector — RAG (Retrieval Augmented Generation) is a technique for enhancing the output from large language models by augmenting queries with context retrieved from other datasets. Gulcin Yildirim Jelinek (EDB) |
📄 Taking Postgres for GRANTed – A quick look at predefined roles in Postgres. Shaun M. Thomas 📄 Setting Up a High Availability 3-Node Postgres Cluster with Patroni on Ubuntu 24.04 Semab Tariq (Stormatics) 📄 Data Encryption in Postgres: A Roundup of Methods Greg Nokes (Crunchy Data) 📄 Converting DMS to PostGIS Point Geometry Elizabeth Christensen (Crunchy Data) 📄 Carbon Footprint and Query Optimization? Henrietta Dombrovskay |
|
🛠 Code and Tools |
tbls: A CI-Friendly Tool for Documenting Databases — Document a database automatically in Markdown format with schemas rendered via DOT, PlantUML, Mermaid, or direct to images. By default you get documentation covering columns, indexes, relations, and other schema details (here’s a sample). Ken’ichiro Oyama |
Introducing pgCompare: A Multi-Database Comparison Tool — pgCompare is an open source tool fresh out of Crunchy Data. It’s designed for when you’re replicating data from different sources and need to validate data consistency afterwards. Brian Pace (Crunchy Data) |
SQLFluff: A SQL Linter 'for Humans' — Built in Python, a SQL linter that covers a variety of dialects (including Postgres, of course). Alan Cruickshank |
📄 A Quick Look at Two Terminal Tools for PostGIS Dian M Fay |
|