atlas news
    
Planet PostgreSQL
12  janvier     20h50
Radim Marek: The hidden cost of PostgreSQL arrays
   Starting with arrays in PostgreSQL is as simple as declaring a column as integer[], inserting some values, and you are done. Or building the array on the fly. SELECT ’ 1,2,3 ’::int[]; SELECT array[1,2,3]; int4 --------- 1,2,3 (1 row) array --------- 1,2,3 (1 row) The official documentation provides...
    20h30
Jimmy Angelakos: pg statviz 0.9 released with new features
   Happy New Year I’m excited to announce release 0.9 of pg statviz, the minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics. This is a significant feature release that expands the scope of analysis to include several new modules and a...
    14h00
Esther Minano: Optimizing data throughput for Postgres snapshots with batch size auto-tuning
   Why static batch size configuration breaks down in real world networks and how automatic batch size tuning improves snapshot throughput.
    00h00
Floor Drees: Updating CloudNativePG’s documentation
   Meet the mentee: Anushka Saxena worked with the project maintainers on transforming the documentation for CloudNativePG, as part of the LFX mentorship program.
09  janvier     07h03
Ian Barwick: PgPedia Week, 2025-12-21
   PostgreSQL 19 changes this week cumulative statistics support for reading writing auxiliary data from to disk added pg createsubscriber support for handling existing publications added pg sync replication slots() retry logic added PostgreSQL 18 articles PostgreSQL 18 Asynchronous Disk I O - Deep...
    00h00
Zhang Chen: Not a Backup Replacement: What PostgreSQL Instant Recovery Actually Solves
   When people first hear instant recovery, they often assume it is a replacement for backup or worse, a risky shortcut only experts should attempt. But the truth is exactly the opposite. Instant recovery does not challenge any design boundary of PostgreSQL. It simply rejects a premise the kernel...
    00h00
Zhang Chen: How to Turn PostgreSQL Unconventional Recovery into an Elegant Art
   When the database won’t start and there’s no backup available, most teams assume the game is over. But that’s not true the data is still on disk, it just lost the ability to speak. PostgreSQL data files remain transparent and readable, but here’s the problem - without the data dictionary, you...
07  janvier     22h10
Ian Barwick: PgPedia Week, 2025-12-14
   PostgreSQL 19 changes this week ALTER TABLE ALTER TABLE ... SPLIT PARTITION ... syntax added ALTER TABLE ... MERGE PARTITIONS ... syntax added pg stat progress analyze column started by added pg stat progress vacuum columns mode and started by added vacuumdb option --dry-run added PostgreSQL 18...
    00h10
Hubert ’depesz’ Lubaczewski: Quick and dirty loading of CSV files
   Back in September 2025, David Fetter asked on IRC, about a tool to quickly load CSV to database. One that would require minimal configuration, will try to figure out as much as possible on its own. I thought that it would be great idea. Plus, I’m trying to learn more JavaScript Node, so figured...
06  janvier     22h00
Andreas Scherbaum: PostgreSQL Meetup in Frankfurt December 2025
   On December 10th, 2025, the PostgreSQL December Meetup in Frankfurt (Main) took place. We had two speakers, and a nice dinner. This Meetup was organized around the IT-Tage, and the Meetup organizers had booked a reeting toom in the Scandic Frankfurt Museumsufer. About 15 minutes walking from the...
    15h13
Hubert ’depesz’ Lubaczewski: Small improvement for pretty-printing in paste.depesz.com
   As you maybe know, some time ago I made paste service, mostly to use for queries, or related text to share on IRC. One part of it is that it also has pretty printer of provided queries. Recently I realized that in case of complex join conditions, the output is, well, sub-optimal. For example...
    11h57
Hubert ’depesz’ Lubaczewski: What is index overhead on writes?
   One of things people learn is that adding indexes isn’t free. All write operations (insert, update, delete) will be slower – well, they have to update index. But realistically – how much slower? Full tests should involve lots of operations, on realistic data, but I just wanted to see...
    11h15
Henrietta Dombrovskaya: pg acm is here
   I am writing this post over the weekend but scheduling it to be published on Tuesday, after the PG DATA CfP closes, because I do not want to distract anyone, including myself, from the submission process. A couple of months ago, I created a placeholder in my GitHub, promising to publish pg acm...
    10h00
Tomas Vondra: Stabilizing Benchmarks
   I do a fair amount of benchmarks as part of development, both on my own patches and while reviewing patches by others. That often requires dealing with noise, particularly for small optimizations. Here’s an overview of ways I use to filter out random variations noise. Most of the time it’s easy -...
    09h03
Josef Machytka: Dissecting PostgreSQL Data Corruption
   PostgreSQL 18 made one very important change – data block checksums are now enabled by default for new clusters at cluster initialization time. I already wrote about it in my previous article. I also mentioned that there are still many existing PostgreSQL installations without data checksums...
    06h05
Umut TEKIN: Exploration: CNPG Logical Replication in PostgreSQL
   Introduction PostgreSQL has built-in support for logical replication. Unlike streaming replication, which works at the block level, logical replication replicates data changes based on replica-identities, usually primary keys, rather than exact block addresses or byte-by-byte copies. PostgreSQL...
    05h45
Ahsan Hadi: PostgreSQL 18 RETURNING Enhancements: A Game Changer for Modern Applications
   PostgreSQL 18 has arrived with some fantastic improvements, and among them, the RETURNING clause enhancements stand out as a feature that every PostgreSQL developer and DBA should be excited about. In this blog, I’ll explore these enhancements, with particular focus on the MERGE RETURNING clause...
    00h00
Zhang Chen: Not All Unrecoverable PostgreSQL Data Is Actually Lost
   Most teams assume data loss means restore from backup. This article introduces the Instant Recovery mindset, explains why PostgreSQL makes it possible, and how PDU turns recoverability into a practical, predictable process.
05  janvier     12h39
Andrei Lepikhov: Inventing A Cost Model for PostgreSQL Local Buffers Flush
   In this post, I describe experiments on the write-versus-read costs of PostgreSQL’s temporary buffers. For the sake of accuracy, the PostgreSQL functions set is extended with tools to measure buffer flush operations. The measurements show that writes are approximately 30% slower than reads. Based...
    08h53
Deepak Mahto: PostgreSQL Table Rename and Views - An OID Story
   Recently during a post-migration activity, we had to populate a very large table with a new UUID column (NOT NULL with a default) and backfill it for all existing rows. Instead of doing a straight: ALTER TABLE ... ADD COLUMN ... DEFAULT ... NOT NULL; we chose the commonly recommended performance...
    00h00
Zhang Chen: Extreme Recovery Series: 4 Hours to Rescue Core Data from a Domestic PG Database
   A client accidentally ran rm -rf , wiping out the entire OS and database. After disk recovery experts salvaged the data files, PDU adapted to this domestic PostgreSQL variant and completed full data recovery in just 4 hours.
    00h00
Zhang Chen: How to Recover PostgreSQL When Data Dictionary Gets Corrupted - A Real Case Study
   When pg type and pg attribute are partially destroyed, how do you piece together a corrupted database? This real-world case reveals an ingenious workaround that saved 46% of the data.
    00h00
Zhang Chen: World First Secrets Behind PostgreSQL Fragment Scanning Recovery
   DROP TABLE with no backup? Most consider it game over. Discover how PDU achieves the impossible - scanning raw disk blocks and matching table structures to resurrect your lost data.
    00h00
Zhang Chen: Mission Impossible: How We Recovered 1TB of Data in 48 Hours
   A corrupted disk. A dead database. Unusable backups. 1.5TB of critical business data hanging by a thread. This is the story of how PDU turned an impossible situation into a triumph.
    00h00
Floor Drees: Chaos testing the CloudNativePG project
   Meet the mentee: Yash Agarwal worked with the project maintainers on adding chaos testing to CloudNativePG, as part of the LFX mentorship program.
04  janvier     23h44
Ian Barwick: PgPedia Week, 2025-12-07
   PostgreSQL 19 changes this week pg stat replication slots newly added column slotsync skip at renamed to slotsync last skip pg dsm registry allocations improvments to display of the size of DSAs and dshashes PostgreSQL 18 articles A deeper look at old UUIDv4 vs new UUIDv7 in PostgreSQL 18 (2025-12...
    17h30
Hubert ’depesz’ Lubaczewski: Waiting for PostgreSQL 19 - Implement ALTER TABLE ... MERGE SPLIT PARTITIONS ... command
   On 14th of December 2025, Alexander Korotkov committed patch: Implement ALTER TABLE ... MERGE PARTITIONS ... command   This new DDL command merges several partitions into a single partition of the target table. The target partition is created using the new createPartitionTable() function with...
02  janvier     00h00
Floor Drees: Sticking with Open Source: pgEdge and CloudNativePG
   We talked to Matthew Mols, Sr. Director of Engineering at pgEdge, about how CloudNativePG enables them to meet the requirements of their customers using just open source.
31  décembre     11h50
Gabriele Bartolini: CloudNativePG in 2025: CNCF Sandbox, PostgreSQL 18, and a new era for extensions
   2025 marked a historic turning point for CloudNativePG, headlined by its acceptance into the CNCF sandbox and a subsequent application for incubation. Throughout the year, the project transitioned from a high-performance operator to a strategic architectural partner within the cloud-native...
30  décembre     05h30
Imran Zaheer: PostgreSQL Recovery Internals
   Modern databases must know how to handle failures gracefully, whether they are system failures, power failures, or software bugs, while also ensuring that committed data is not lost. PostgreSQL achieves this with its recovery mechanism; it allows the recreation of a valid functioning system state...