public inbox for [email protected]
help / color / mirror / Atom feedFrom: PDU PostgreSQL Data Unloader via PostgreSQL Announce <[email protected]>
To: PostgreSQL Announce <[email protected]>
Subject: PDU: an open source PostgreSQL Data Unloader for full-database offline export and targeted WAL recovery
Date: Wed, 08 Jul 2026 07:03:14 +0000
Message-ID: <[email protected]> (raw)
PDU helps recover offline PostgreSQL databases by reconstructing metadata, exporting tables, and reading WAL for targeted row recovery.
When a PostgreSQL instance cannot be started, normal SQL tools are no longer available. PDU, PostgreSQL Data Unloader, is an open source recovery tool for that situation. It reads PostgreSQL data files and WAL archives directly, without modifying the original data directory.
PDU can reconstruct database, schema, and table metadata while the database is offline. After the structure is discovered, it can export a single table, a schema, or a full database with one command. The output is CSV, which makes it practical to inspect recovered data or load it into another PostgreSQL instance.
For accidental DELETE and UPDATE operations, PDU can also recover selected row data from WAL. This recovery path does not rely on tuple remnants left before VACUUM. Instead, it reads WAL records available on a replica or in WAL archives, then reconstructs deleted rows or pre-update row versions from those records. The recovery window therefore depends on WAL availability.
Current capabilities include:
- offline discovery of PostgreSQL database, schema, and table metadata
- export of a single table, a schema, or a full database to CSV
- direct reading of PostgreSQL heap and TOAST files
- WAL-based recovery of deleted rows and pre-update row versions
- recovery support for catalog corruption, accidental DELETE/UPDATE, and damaged data files
- support for PostgreSQL 14 to 18
PDU is intended as an emergency recovery aid. It is not a replacement for backups, PITR, or existing PostgreSQL recovery practices.
Project repository:
[https://github.com/wublabdubdub/PDU-PostgreSQLDataUnloader
](https://github.com/wublabdubdub/PDU-PostgreSQLDataUnloader)
Feedback is welcome, especially around heap/TOAST parsing, offline metadata reconstruction, WAL decoding, supported data types, and recovery edge cases.
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: PDU: an open source PostgreSQL Data Unloader for full-database offline export and targeted WAL recovery
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox