Back to Home

PDU Features

Comprehensive PostgreSQL data recovery capabilities explained in detail. Click on any feature below to learn more about how it works.

Instant Recovery

Offline extraction for urgent incidents when rollback, backup, snapshot, and PITR paths are unavailable.

A valid backup, snapshot, or PITR chain remains the first choice. When those baselines are unavailable, PDU reads preserved copies of PostgreSQL files and WAL without starting the damaged instance, then exports data that can still be decoded. Selected results may be delivered without rebuilding the entire cluster, but elapsed time and completeness depend on incident scope, version, retained pages, WAL, TOAST data, and overwrite state.

Key Highlights

  • Professional offline workflow when no usable restore baseline exists
  • Reads preserved evidence without starting the damaged instance
  • Exports selected recoverable tables or rows to a separate location
  • Uses time or transaction filters only when the retained WAL supports them

Use Cases

  • 1Emergency recovery when no PITR backups are available
  • 2Evaluating accidentally deleted records or tables from preserved evidence
  • 3Delivering selected data without overwriting the source evidence
  • 4Retrieving critical rows when the PITR chain is incomplete

Technical Details

  • 01Direct heap/page scanning without requiring base backups
  • 02Reconstructs tuples and schema metadata from on-disk pages
  • 03Optional WAL/time filters applied when WAL is present
  • 04Outputs recovered data separately to keep sources untouched

WAL-Based Recovery

Recover deleted or updated data from archived WAL files with time range and transaction filtering.

PDU parses relevant WAL records and available full-page images to evaluate deleted or pre-update row states, with time-range and transaction filters. A DELETE or UPDATE record does not always contain a complete old row, so recoverability depends on the record type, full_page_writes, retained page images, relation files, PostgreSQL version, and TOAST data. This is targeted extraction, not database-wide PITR.

Key Highlights

  • Targeted extraction from usable WAL records and full-page images
  • Transaction-level filtering when record coverage permits it
  • Time range specification for targeted recovery operations
  • Explicit reporting of WAL gaps and unsupported record coverage

Use Cases

  • 1Recovering accidentally deleted records from the past few hours
  • 2Evaluating row states before a faulty batch update
  • 3Extracting specific transactions for audit purposes
  • 4Generating selected recovery output without changing the source

Technical Details

  • 01Parses WAL segment files (16MB each by default)
  • 02Interprets relevant WAL records and full-page images by PostgreSQL version
  • 03Uses version-matched decoding for supported PostgreSQL releases
  • 04Works with both compressed and uncompressed WAL archives

Safe & Non-destructive

Read-only operations ensure your original data files remain completely untouched.

PDU scans source database files, WAL, and disk images read-only and writes indexes and recovery output to separate paths. Preserve the original evidence first and scan a verified copy whenever possible; this reduces source-modification risk and makes repeated analysis auditable.

Key Highlights

  • Read-only scanning of source evidence
  • No modifications to original data directory
  • Safe to run on production backup copies
  • Repeatable analysis against a preserved copy

Use Cases

  • 1Analyzing verified copies of production evidence
  • 2Testing different recovery strategies safely
  • 3Training and learning database recovery techniques
  • 4Forensic analysis of database state

Technical Details

  • 01Opens all files in read-only mode (O_RDONLY)
  • 02Creates output in separate directory structure
  • 03Never writes to source data directory
  • 04Memory-mapped file access for efficiency without modification

Fragment Scanning

Recover dropped or truncated tables through advanced fragment scanning technology.

DROP TABLE can unlink relation files, while TRUNCATE can replace or shorten them; the released blocks may later be reused. After writes stop and a full disk image is preserved, PDU scans the image for candidate PostgreSQL pages. Matching DDL or surviving catalog metadata is needed to interpret columns, and same-layout pages can be ambiguous. Results are therefore verified samples, not a guarantee that every dropped row remains.

Key Highlights

  • Recovers data from DROP TABLE operations
  • Retrieves truncated table contents
  • Uses matching DDL or surviving catalog metadata to decode candidate pages
  • Provides a documented PDU workflow for no-backup DROP TABLE recovery

Use Cases

  • 1Recovering from accidental DROP TABLE commands
  • 2Restoring data after TRUNCATE operations
  • 3Salvaging data from corrupted table files
  • 4Emergency recovery when backups are unavailable

Technical Details

  • 01Scans PostgreSQL heap pages (8KB blocks)
  • 02Identifies valid tuple headers and data
  • 03Reconstructs table structure from page contents
  • 04Handles both live and dead tuple recovery

PostgreSQL 10-18

Version-specific executables for PostgreSQL 10 through 18 with full compatibility.

PostgreSQL's internal storage format changes between major versions. PDU provides version-specific executables that understand each version's data file format, page layout, and system catalog structure, ensuring accurate recovery regardless of your PostgreSQL version.

Key Highlights

  • Dedicated executables for each PostgreSQL major version
  • Full compatibility with version-specific storage formats
  • Automatic version detection from data files
  • Support for the latest PostgreSQL 18

Use Cases

  • 1Recovering data from legacy PostgreSQL 10 databases
  • 2Working with mixed-version database environments
  • 3Upgrading databases while preserving recovery capability
  • 4Testing recovery procedures across different versions

Technical Details

  • 01Version-specific page header parsing
  • 02Adapted tuple header interpretation per version
  • 03System catalog format awareness
  • 04TOAST value handling for each version

Lower Learning Curve

Simple CLI commands with lower learning cost compared to pg_filedump.

Unlike low-level tools such as pg_filedump that require deep PostgreSQL internals knowledge, PDU provides intuitive commands with clear output. Designed for DBAs and developers who need to recover data quickly without becoming storage format experts.

Key Highlights

  • Intuitive command-line interface
  • Clear, human-readable output
  • Comprehensive documentation and examples
  • Progressive complexity for advanced users

Use Cases

  • 1Emergency recovery by on-call DBAs
  • 2Data recovery by development teams
  • 3Learning PostgreSQL internals through practical use
  • 4Rapid response to data incidents

Technical Details

  • 01Subcommand-based CLI structure (add, unload, scan, etc.)
  • 02Built-in help with usage examples
  • 03Verbose mode for detailed operation logging
  • 04JSON output option for programmatic integration

Ready to Try PDU?

Get started with PDU today and experience professional-grade PostgreSQL data recovery.