#​522 — September 20, 2023

Web Version

Together with  Teleport logo

Postgres Weekly

Postgres 16 Released — The newest major version of Postgres dropped the day after we sent Postgres Weekly last week, but the upside is we can link to many extensions that have added PG16 support over the past week in Code & Tools below 😆 Nonetheless, here's some of what's new:

  • CPU acceleration with SIMD support on both x86 & ARM
  • The query planner can now parallelize FULL and RIGHT joins.
  • Aggregate function performance improvements.
  • Big performance improvements to bulk data loading with COPY
  • Allowing logical replication from standby servers.
  • Expanded SQL/JSON syntax, e.g. JSON_ARRAY() & JSON_ARRAYAGG()
  • pg_stat_io for granular I/O metrics.
For the full list of what's new, check out the release notes, or...

PostgreSQL Global Development Group

What Changes in Postgres 16, How We Got Here, and What to Expect in Postgres 17+ — Amit Kapila lists the new features introduced in Postgres 16 in an easier to skim form than the official release post (above) including code examples of the new SQL/JSON functions in play.

Amit Kapila

Secure, Compliant, and Effortless Database Access for Any DB — Break access silos and reduce overhead by consolidating database access permissions in one place. Continuously maintain compliance and pass audits with minimal effort for SOC 2, FedRAMP, HIPAA, ISO 27001, PCI, and more.

Teleport | goteleport․com sponsor

Hydra 1.0: Open Source, Column-Oriented Postgres — An open-source extension that adds columnar tables to Postgres for efficient analytical reporting without needing to change database. Hydra’s Owen Ou recorded a ▶️ five minute screencast to show it off.

Simon Wijckmans

IN BRIEF:

Active Active in Postgres 16 — A practical walkthrough putting Postgres 16’s logical replication improvements through their paces.

Brian Pace

Determining the Optimal Postgres Partition Size
Soto and Blackwood-Sewell (Timescale)

Code and Tools

Lantern: A Postgres Vector Extension for AI Use Casespgvector may be all the rage, but Lantern is here with an alternative option (which can interoperate with pgvector, luckily). It hopes to outperform pgvector and similar extensions and has support for parallel index creation, keeping index creation outside of a live database. It leans upon usearch under the hood.

Jeung Park and Narek Galstyan

The Flexibility and Power to Run PostgreSQL on Any Cloud. Start with $300 in Cloud Credits

EDB BigAnimal sponsor

PeerDB: Simpler and Faster ETL for Postgres — From an alumni of Microsoft and Citus Data comes a new platform dedicated to the task of moving data into and out of Postgres. There’s a quick start guide, but the idea is to seamlessly integrate multiple data-stores inclding Postgres, Snowflake and BigQuery and offer real-time syncing, customized ETL, and a way to do federated queries across said stores.

PeerDB

pgtt 3.0: Manage and Use Oracle-Style Global Temporary Tables — For those situations where you want to reproduce Oracle’s behavior rather than rewrite your code to use standard Postgres temporary tables. v3 supports Postgres 12+.

Gilles Darold

pg_hint_plan 1.6: Manually Force Decisions in Execution Plans — Bug fixes, as usual, but Postgres 16 support is the headline here.

NTT OSS Center DBMS Development and Support Team

Pigsty 4.0: A 'Batteries Included' Postgres Distribution — A distribution of Postgres that bills itself as an ‘RDS PG alternative’ with a lot of things included out of the box, such as extensions, observability, self-healing HA, and a monitoring dashboard. v4.0 introduces Postgres 16 support and a variety of new bundled extensions including Apache AGE and pgsql-http.

Feng Ruohang

  • pgrx 0.10.1 – Build Postgres extensions with Rust. Now with Postgres 16 support, naturally.

  • pg_qualstats 2.1 – Keep & analyze statistics on predicates used.

  • Good Job 3.19.0 – Postgres-backed job queue for Ruby on Rails.

  • pgxmock 3.0 – Mock driver to test database interactions in Go.

  • pg_ivm 1.7 – Incremental View Maintenance (IVM) extension.