#548 — March 27, 2024 |
|
Postgres Weekly |
Recovering Deleted Data from Postgres Tables — Transactions and backups cover most situations, but can you do something similar to an ‘undelete’ on data otherwise considered deleted from a table? With pg_dirtyread, you can do quite a bit and, failing that, you could even go digging into the WAL.. Christoph Berg |
Will Postgres Ever Change Its License? — The recent announcement that Redis will be dropping the BSD license in favor of a dual ‘source available’ and SSPL license has got people worried. Is Postgres vulnerable to a similar move? Certainly not. Jonathan Katz |
How to Automate Postgres Index Selection Using the CP-SAT Solver — Learn about the Constraint Programming model powering pganalyze Index Advisor 3.0. This technical deep dive (56min video) with Lukas Fittl & Philippe Olivier is a behind-the-scenes look at using the CP-SAT solver for recommending Postgres indexes. pganalyze sponsor |
Introducing pgzx: Create Postgres Extensions using Zig — Yes, we linked to pgzx last week, but it seems we jumped the gun as there’s now a proper launch post for it, complete with a C vs Zig example for creating a barebones extension and a run down of the advantage of using Zig to build extensions. Golubenco and Siering (Xata) |
IN BRIEF:
|
Checking Your Privileges — “If you are counting on the PostgreSQL privilege system to prevent roles from running functions (and accessing other objects), be sure you know what the default permissions are, and adjust them accordingly.” Christophe Pettus |
How to Identify Semantic Issues with plpgsql_check — plpgsql_check is a linter for statically analyzing Postgres PL/pgSQL procedure code. Pattanayak, Rout, Kumar and Borse (AWS) |
Inside PostGIS: Calculating Distance — Paul dives inside PostGIS’s distance calculation implementation. Paul Ramsey |
Transitioning from Heroku Postgres to AWS EC2: A Step-by-Step Approach
|
Understand Postgres's Planner: Simple Scan Paths vs Plans
|
|
🛠 Code and Tools |
Slonik v38: The Sophisticated Postgres Client for Node.js — A ‘battle tested’ framework offering strict types, detailed logging, abstracts repeating code patterns, protects against unsafe behavior, as well as a rich debugging experience. Gajus Kuizinas |
MobilityDB 1.1: Geospatial Trajectory Data Management and Analysis Platform — Built upon Postgres and PostGIS, MobilityDB is designed for working with things that are on the move and therefore are providing geospatial trajectories that can be stored and queried. GitHub repo. Université libre de Bruxelles |
|