Parameter Reference
Complete guide to configuration and runtime parameters
Setting Parameters
Use param <name> <value>; or p <name> <value>; to set parameters. Use show; to view current values.
Configuration File (pdu.ini)
PGDATARequiredPostgreSQL data directory path. Required for initialization and data extraction.
PGDATA=/var/lib/pgsql/14/dataARCHIVE_DESTRequiredWAL archive directory path. Required for recovering deleted/updated data and scanning dropped tables.
ARCHIVE_DEST=/var/lib/pgsql/archiveDISK_PATHDisk device path for dropscan. Required for recovering dropped/truncated tables through disk fragment scanning.
DISK_PATH=/dev/mapper/centos-rootBLOCK_INTERVALNumber of data blocks to skip during dropscan. Smaller values provide more comprehensive coverage but slower speed.
BLOCK_INTERVAL=20PGDATA_EXCLUDEPGDATA paths to exclude during dropscan. Use comma-separated paths if multiple PostgreSQL instances exist on the server.
PGDATA_EXCLUDE=/home/16pg/data,/home/17pg/dataWAL Scan Range
startwalstringDefault: empty (first file in archive)Starting WAL file for scanning. Use when archive directory has too many files (>250) to improve efficiency.
p startwal 000000010000000100000047;endwalstringDefault: empty (last file in archive)Ending WAL file for scanning. Limits the scan range to specific WAL files.
p endwal 0000000100000001000000DC;Time Range
starttimetimestampDefault: emptyStart time for filtering recovery data. Only records after this time will be recovered.
p starttime 2025-01-01 00:00:00;endtimetimestampDefault: emptyEnd time for filtering recovery data. Only records before this time will be recovered.
p endtime 2025-01-15 23:59:59;Recovery Mode
resmodeenumDefault: timeData restoration mode. Determines how recovered data is grouped and displayed.
timeTime Range Mode - Recover all records within specified time rangetxTransaction Mode - Recover records by specific transaction IDp resmode tx;restypeenumDefault: deleteType of data to recover. Specifies whether to recover deleted or updated records.
deleteRecover deleted records (from DELETE operations)updateRecover pre-update records (original data before UPDATE)p restype update;Export Settings
exmodeenumDefault: csvData export format. Determines the output file format for exported data.
csvExport as CSV files (comma-separated values)sqlExport as SQL INSERT statementsp exmode sql;encodingenumDefault: utf8Character encoding for exported files. Choose based on your data's encoding.
utf8UTF-8 encoding (recommended for most cases)gbkGBK encoding (for Chinese legacy systems)p encoding gbk;DropScan Parameters
dsoffnumberDefault: 0DropScan start offset. Byte offset on disk to start scanning from. Useful for resuming interrupted scans.
p dsoff 1073741824;blkiternumberDefault: 20Block intervals during disk scanning. Lower values are slower but more thorough. Same as BLOCK_INTERVAL in pdu.ini.
p blkiter 5;itmpcsvnumberDefault: 100Maximum records per CSV file during dropscan. Controls file splitting for large recoveries.
p itmpcsv 1000;idxmodeenumDefault: onIndex mode for dropscan. When enabled, uses pre-built disk index for faster scanning.
onUse disk index for scanning (faster, requires ds idx first)offDirect disk scanning without indexp idxmode off;isomodeenumDefault: offImage isolation mode. When enabled, saves disk fragments as image files during index scan to prevent data loss from overwrites.
onSave disk fragments as image files during ds idxoffScan directly from disk without saving imagesp isomode on;Typical Configuration Example
# PostgreSQL 数据目录 PGDATA=/var/lib/pgsql/14/data # WAL 归档目录 ARCHIVE_DEST=/var/lib/pgsql/archive # 磁盘路径(用于 dropscan) DISK_PATH=/dev/sda1 # 块间隔 BLOCK_INTERVAL=20
p resmode tx; p startwal 000000010000000100000047; scan orders; restore del 1360536457;
p isomode on; ds idx; ds; ds repair; ds copy;