Unique Advantages

PDU stands apart from other PostgreSQL recovery tools through its unique combination of simplicity, capability, and safety. Here's what makes PDU different.


Simplicity: Two Files, Complete Solution

Minimal Footprint

PDU consists of only two files:

pdu{10-18}

The executable file for your PostgreSQL version

pdu.ini

Simple configuration file with just 2 key settings

Compare to Traditional Approaches

  • • No complex dependencies to install
  • • No lengthy setup procedures
  • • No compilation required
  • • No database server installation needed
  • • Works immediately after extraction

Unified Interface: One Tool for All Scenarios

Instead of juggling multiple tools with different interfaces, PDU provides a single, consistent interface for all recovery scenarios:
ScenarioTraditional ToolsPDU
Corrupted databasepg_filedump + manual parsingb; → unload
Deleted recordspg_waldump + pg_dirtyreadscan → restore del
Updated recordspg_waldump + custom scriptsscan → restore upd
Dropped tablesNo solutiondropscan

PostgreSQL-Native Experience

PDU feels like a natural extension of psql. If you know PostgreSQL, you already know how to use PDU:

Familiar Commands

\lList databases
\dnList schemas
\dtList tables
\d+ tableDescribe table

Intuitive Navigation

use dbname;Switch database
set schema;Switch schema
\qExit

Non-Invasive: Read-Only Recovery

PDU Approach

  • Only reads source data files
  • Never modifies original files
  • Outputs to separate directory
  • Safe to retry multiple times

Traditional Tools Risk

  • pg_resetwal may cause data loss
  • Some tools modify source files
  • Errors may worsen corruption
  • One chance only approach

The Only Solution for DROP TABLE

The ONLY Revealed Feasible Method

When a table is dropped without a backup, traditional PostgreSQL tools offer no solution. The data files are immediately unlinked, and the metadata is removed from system catalogs.

PDU's dropscan command is currently the only publicly available method to recover data from dropped tables by scanning disk fragments for recoverable data pages.


Comprehensive Data Type Support

PDU supports virtually all PostgreSQL data types you'll encounter in production:

Numeric Types

smallintintegerbigintnumericrealdouble precisionmoney

Text Types

char(n)varchar(n)textbyteaxmljsonjsonb

Date/Time Types

datetimetimestampinterval

Special Types

booleanuuidbit(n)bit varying

Network Types

cidrinetmacaddr

Geometric Types

pointlinelsegboxpathpolygoncircle

Plus:Arrays of all basic types (e.g., integer[], text[]) are fully supported.


Version Compatibility

PDU provides dedicated executables for each PostgreSQL major version, ensuring accurate data parsing across different internal formats:
PostgreSQL 10PostgreSQL 11PostgreSQL 12PostgreSQL 13PostgreSQL 14PostgreSQL 15PostgreSQL 16PostgreSQL 17PostgreSQL 18

EL 7/8/9

Linux x86_64

Linux ARM64


Summary: Why Choose PDU

📦

Simple

Two files, zero dependencies

🔧

Unified

One tool for all scenarios

🐘

Familiar

PostgreSQL-native experience

🛡️

Safe

Read-only, non-invasive

🎯

Unique

Only DROP TABLE solution

Compatible

PostgreSQL 10-18 support