Streaming inspection
Selected files are read as byte chunks. The scanner retains bounded state for quotes, comments, PostgreSQL dollar strings, the active MySQL delimiter, and PostgreSQL COPY ... FROM stdin data. Full statement text is not retained: inventory stores byte ranges and a capped preview, while extraction and splitting use Blob slices from the original local file.
Table and size estimates
The table inventory recognizes common CREATE, ALTER, DROP, INSERT/REPLACE, COPY, TRUNCATE, LOCK, and CREATE INDEX forms with quoted or schema-qualified identifiers. “Schema bytes” and “data bytes” are sums of recognized statement byte ranges, not database storage estimates. COPY row counts are physical inline rows, while INSERT tuple counts are deliberately not guessed.
Extraction and splitting
Selected-table extraction includes only recognized statements attributed to those names plus optional recognized global setup and transaction statements. Splitting preserves original byte order and ends parts only between complete statements or COPY blocks. It does not manufacture transactions or repeat session prologues in every part, so execute parts in order and review restore requirements.
Validation boundary
This is a bounded lexical inventory, not a SQL parser or restore validator. It does not execute SQL, understand every dialect, decode custom pg_dump archives, decompress input, prove semantic dependencies, validate expressions, count INSERT rows, redact secrets, or guarantee that an extract or sequence of parts restores independently. Encrypted, compressed, binary, UTF-16, or archive-format dumps should be handled with their database’s native tools.
Frequently asked questions
Why can a split part exceed my target?
A statement or PostgreSQL inline COPY block must remain whole. If it alone exceeds the target, the plan labels that part rather than corrupting it.
Will selected-table extraction include sequences and foreign keys?
Only when a supported statement is explicitly attributed to the selected table. Independent sequences, views, routines, cross-table constraints, grants, and ownership may need separate native-tool extraction.
Can I inspect a pg_dump custom archive?
No. Use pg_restore --list and its selection options. This page accepts plain-text SQL scripts only.
Primary references
The PostgreSQL pg_dump documentation distinguishes plain-text scripts from custom, directory, and tar archives. PostgreSQL’s COPY documentation defines the \. terminator used by psql inline data. The MySQL mysqldump documentation describes logical backups made of CREATE and INSERT statements, while the mysql client-command reference defines delimiter changes around stored programs.
Generate SQL from CSV · Inspect an Avro OCF file · Browse data-engineering tools