Overview
PDU provides powerful data recovery capabilities for various PostgreSQL disaster scenarios. Choose the appropriate recovery method based on your situation.
Choose Your Recovery Scenario
Corrupted Instance
Recover data when the PostgreSQL instance cannot start but PGDATA is still accessible.
Corrupted Data File
Extract data from a single corrupted table data file when PostgreSQL reports file corruption errors.
Single Database Directory
Recover data when an entire database directory is corrupted and the PostgreSQL instance cannot start.
Deleted Records
Recover accidentally deleted records by parsing WAL archive files.
Updated Records
Recover original data before accidental UPDATE operations using WAL archives.
Dropped Tables
The only publicly documented practical method to recover DROP TABLE or TRUNCATE without backups using disk fragment scanning.
Recovery Scenario Comparison
| Scenario | Required Configuration | Data Source | Recovery Speed |
|---|---|---|---|
| Corrupted Data File | PGDATA | Data file directly | Fast |
| Corrupted Instance | PGDATA | Data file directly | Slower |
| Single Database Directory | Database directory path | Database directory | Medium |
| Deleted Records | PGDATA + ARCHIVE_DEST | WAL archive files | Fast |
| Updated Records | PGDATA + ARCHIVE_DEST | WAL archive files | Fast |
| Dropped Tables | PGDATA + DISK_PATH | Disk fragment scanning | Slower |
Quick Start
All recovery operations share a common initialization process. Here's the basic workflow:
1. Configure pdu.ini
2. Start PDU and Initialize
3. Choose Recovery Method
After initialization, select the appropriate recovery guide from the sidebar based on your scenario.