#​604 — June 19, 2025

Web Version

Together with  Microsoft logo

Postgres Weekly

PostgreSQL and Ducks: The Perfect Analytical PairingDuckDB is an in-process SQL database optimized for OLAP workloads, and it’s gained serious traction in recent years. Pairing it with Postgres opens up opportunities for high performance analytics tasks without the overhead of a full data warehouse or complex ETL pipelines. This post explores the main integration options.

Matson and Somani (MotherDuck)

▶  30+ Talks from PGConf.dev 2025 to Enjoy — The talk videos from May’s popular PostgreSQL Development Conference have been getting uploaded over the past couple of weeks and there’s a lot to enjoy, from how OpenAI scales Postgres and the trickiness of building Postgres extensions to investigating multithreaded Postgres and what 10 Postgres contributors did to become a hacker.

PostgreSQL Development Conference

Missed POSETTE 2025? Now Watch All 42 Talks on Demand — Learn about the latest features, performance tips, and real-world applications from 45 experts across the PostgreSQL ecosystem. POSETTE: An Event for Postgres is a free & virtual developer event organized by the Postgres team at Microsoft. Watch now.

Microsoft sponsor

SELECT .. FOR UPDATE Considered Harmful? — If FOR UPDATE is specified when doing a SELECT within a transaction, the selected rows are locked to prevent concurrent updates if you plan to update those rows thereafter. Laurenz notes this lock can be ‘too strong’ for many cases, though, and FOR NO KEY UPDATE may be more appropriate and provide sufficient protection.

Laurenz Albe

IN BRIEF:

Active-Active Replication, Do You Really Need It? — Last week we mentioned that Amazon has open-sourced pgactive, an extension for performing active-active replication. Jan looks at the situations where it might come in useful.

Jan Wieremjewicz

📄 Taking Your First Steps with Logical Replication – A good primer to the basic concepts and techniques. Radim Marek

📄 How I Dropped the Production Database on a Friday Night“Never use CASCADE deletes on critical foreign keys.” Vincent Josse

📄 Avoiding Timezone Traps: Correctly Extracting Date/Time Subfields in Django with Postgres Colin Copeland

📺 The Postgres Developer's Guide to Updates and Deletes in ClickHouse Mark Needham

📄 Roman Numeral to Number Conversion and the Fun of Postgres Laurenz Albe

📄 Checklist: Is Your Postgres Deployment 'Production-Grade'? Umair Shahid

🛠 Code and Tools

▶  Introducing Microsoft's VS Code Extension for Postgres — We recently mentioned Microsoft’s announcement of its new Postgres extension for VS Code and Matt gave a talk at POSETTE including some demos of how to use it.

Matt McFarland

XTDB v2: An Immutable SQL Database with Time Travel — An interesting SQL database where all tables are bitemporal (storing both the times data is valid and when it was recorded) and ‘time travel’ is a first-class concern. It’s not related to Postgres, but offers a Postgres-compatible interface to make adoption easier. GitHub repo.

Jeremy Taylor (JUXT)

pg_auto_reindexer 1.5: Automatic B-Tree Reindexing Tool — A script that detects and reindexes bloated B-tree indexes with minimal locking by using REINDEX CONCURRENTLY.

Vitaliy Kukharik