Export, import and transfer
Rows are written as they arrive, so a large table never has to fit in memory.
⌘E on any grid. Format, scope and the options that format needs, and nothing else.Export
Scope is the selection, the loaded rows, or the entire table or query. The last re-executes the statement and streams straight to disk with a progress sheet you can cancel. Export runs off the main thread and writes through a buffered file handle.
=, +, -, @, tab or carriage return is prefixed so a spreadsheet shows it as text. The switch is on by default (ADR-0032).Dump and import
Dump writes a database, a schema or a set of tables as SQL, structure and data or either alone, in the engine’s dialect. Import runs a SQL script, statement by statement through the same splitter the editor uses, and reports progress and any failure with the statement that caused it. Import from CSV maps columns of a file onto a table with type coercion and shows the rows it could not coerce rather than dropping them.
Transfer between databases
Transfer copies tables from one connection to another, including across engines, streaming rows through in batches. Across engines the table is rebuilt in the target’s own terms — its spelling of the types, defaults it can read, the primary key, the indexes and the foreign keys — and the rows travel as the target’s literals: a PostgreSQL array arrives as JSON, a zone offset as ±HH:MM. Data sync compares rows by primary key and generates the INSERT, UPDATE and DELETE statements that would make the target match; like structure sync it shows destructive statements separately. Neither ever holds a table in memory.