Sammlung von Newsfeeds
Umair Shahid: What Are “Dirty Pages” in PostgreSQL?
PostgreSQL stores data in fixed‑size blocks (pages), normally 8 KB. When a client updates or inserts data, PostgreSQL does not immediately write those changes to disk. Instead, it loads the affected page into shared memory (shared buffers), makes the modification there, and marks the page as dirty. A “dirty page” means the version of that page in memory is newer than the on‑disk copy.
Nikolay Samokhvalov: #PostgresMarathon 2-011: Prepared statements and partitioned tables — the paradox, part 3
In #PostgresMarathon 2-009 and #PostgresMarathon 2-010, we explored why execution 6 causes a lock explosion when building a generic plan for partitioned tables — the planner must lock all 52 relations because it can't prune without parameter values.
Today we'll test what actually happens with different plan_cache_mode settings.
Paolo Melchiorre: Install PostgreSQL 18 on Ubuntu 25.10
How-to guide for installing PostgreSQL version 18 on Ubuntu, after a fresh installation of version 25.10 (Questing Quokka).
Nikolay Samokhvalov: #PostgresMarathon 2-010: Prepared statements and partitioned table lock explosion, part 2
In #PostgresMarathon 2-009, we focused on Lock Manager's behavior when dealing with prepared statements and partitioned tables.
And observed a lock explosion in our simple synthetic example: from 8 locks (custom plans) during first 5 calls, to 52 locks (building generic plan) in the 6th call, to 13 locks (using cached generic plan) in the 7th and subsequent calls. We left with questions:
Hubert 'depesz' Lubaczewski: Waiting for PostgreSQL 19 – Add psql PROMPT variable for search_path.
Cornelia Biacsics: Head of Marketing experiences @PGConf.EU 2025 – A Riga Recap
PostgreSQL Conference Europe 2025 in Riga has officially come to an end — and what remains are the impressions, emotions, moments, and the incredible vibe that remind me why we do what we do.
I met so many inspiring people, had conversations with some of my role models, and wore many hats throughout the conference.
Nikolay Samokhvalov: #PostgresMarathon 2-009: Prepared statements and partitioned table lock explosion, part 1
In #PostgresMarathon 2-008, we discovered that prepared statements can dramatically reduce LWLock:LockManager contention by switching from planner locks (which lock everything) to executor locks (which lock only what's actually used). Starting with execution 7, we saw locks drop from 6 (table + 5 indexes) to just 1 (table only).
There we tested only a simple, unpartitioned table. What happens if the table is partitioned?
Hans-Juergen Schoenig: The Future of CYBERTEC and PostgreSQL
For this second entry into our blog feature to celebrate 25 years of CYBERTEC, our CEO gave some interesting insights into what he expects of the future - for the company as well as PostgreSQL as a whole.
CYBERTEC in another 25 yearsInterviewer: Let's talk about the future. Where do you think you see CYBERTEC in another 25 years?
Jeremy Schneider: Explaining IPC:SyncRep – Postgres Sync Replication is Not Actually Sync Replication
Postgres database-level “synchronous replication” does not actually mean the replication is synchronous. It’s a bit of a lie really. The replication is actually – always – asynchronous. What it actually means is “when the client issues a COMMIT then pause until we know the transaction is replicated.” In fact the primary writer database doesn’t need to wait for the replicas to catch up UNTIL the client issues a COMMIT …and even then it’s only a single individual connection which waits. This has many interesting properties.
Robert Bernier: Troubleshooting PostgreSQL Logical Replication, Working with LSNs
Mayur B.: Slonik on the Catwalk: PGConf.EU 2025 Recap
I volunteered as a room host and Slonik guide.
Best gig: posing our elephant. The photographer had runway-level ideas. Slonik delivered every single time.
Rhys Stewart: Trigger Happy: Live edits in QGIS
Shaun Thomas: Returning Multiple Rows with Postgres Extensions
Creating an extension for Postgres is an experience worthy of immense satisfaction. You get to contribute to the extension ecosystem while providing valuable functionality to other Postgres users. It’s also an incredibly challenging exercise in many ways, so we’re glad you’ve returned to learn a bit more about building Postgres extensions.In the previous article in this series, we discussed creating an extension to block DDL.
Cornelia Biacsics: Contributions for week 43, 2025
In October 2025, PostgreSQL Conference Europe brought the community together in Riga, Latvia from the 21st to the 24th.
Organizers
- Andreas Scherbaum
- Chris Ellis
- Dave Page
- Ilya Kosmodemiansky
- Jimmy Angelakos
- Karen Jex
- Magnus Hagander
- Marc Linster
- Samed Yildirim
- Valeria Kaplan
Talk selection committee
- Karen Jex (non voting chair)
Application Developer and Community Subcommittee
Christopher Winslett: Temporal Joins
My first thought seeing a temporal join in 2008 was, “Why is this query so complex?” The company I was at relied heavily on database queries, as it was a CRM and student success tracking system for colleges and universities. The query returned a filtered list of users and their last associated record from a second table. The hard part about the query isn’t returning the last timestamp or even performing joins, it’s returning only their last associated record from a second table.
Chris Travers: Introduction to NUMA
This series covers the specifics of running PostgreSQL on large systems with many processors. My experience is that people spend months often learning the basics when confronted with the problem. This series tries to dispel these difficulties by providing a clear background into the topics in question. The hope is that future generations of database engineers and administrators don’t have to spend months figuring things out through trial and error.
Valeria Kaplan: PostgreSQL — Blurring the Line Between Mine and Ours
As the biggest PostgreSQL community conference in Europe, PGConf.EU 2025 in Riga, Latvia, kicks off, I feel immense pride in having been part of the small group of people who dedicated their free time to making this event a success.
Dave Stokes: Loading The Titanic Passenger Data Into PostgreSQL With DBeaver Part 2
In the last edition of this blog, the passenger list data from the HMS Titanic was loaded into a preliminary database. Now it is time to refine.
I am using DBeaver Enterprise 25.2.0. PostgreSQL 18, and Github Copilot with Gpt-4.
Prompt: Any recommendations on improving this table for storage efficiency? This prompt was entered into the DBeaver AI Assistant.
Jan Wieremjewicz: Say Hello to OIDC in PostgreSQL 18!
If you’ve ever wondered how to set up OpenID Connect (OIDC) authentication in PostgreSQL, the wait is almost over.
We’ve spent some time exploring what it would take to make OIDC easier and more reliable to use with PostgreSQL. And now, we’re happy to share the first results of that work.
Why OIDC, and why now?We’ve spoken to some of our customers and noticed a trend of moving away from LDAP to OIDC. Our MongoDB product is already providing OIDC integration and the team working on PostgreSQL products saw an opportunity coming with PostgreSQL 18.

