Skip to main content

Output Formats

Seedling supports multiple output formats for different use cases.

SQL Dump

Default format. Produces INSERT INTO ... statements.
seedling generate --count 10000 --output seed.sql
Use cases: CI pipelines, staging refresh, database seeding.

Direct Database Insert

Writes directly to a live database with batched INSERTs.
seedling generate --count 500000 --db postgres://localhost:5432/staging
Use cases: One-shot staging population, integration tests.

Postgres COPY Protocol

Maximum throughput. Uses pgx COPY protocol for row streaming.
seedling generate --count 1000000 --db postgres://localhost:5432/staging --copy
Use cases: Large-scale data generation where speed matters.

CSV

One file per table.
seedling generate --count 10000 --output data/ --format csv
Use cases: Data analysis, spreadsheets, external tool import.

JSON Lines

One JSON object per row, streaming per table.
seedling generate --count 10000 --output data/ --format jsonl
Use cases: Event streams, NoSQL databases, log simulation.

Parquet

Tabular columnar output.
seedling generate --count 10000 --output data/ --format parquet
Note: Parquet support is currently a TSV placeholder. Full Parquet implementation is pending.

Format Summary

FormatFlagUse Case
SQL dump--output seed.sqlCI, staging refresh
Direct DB--db postgres://...One-shot population
COPY--db ... --copyMax throughput
CSV--format csvAnalysis, spreadsheets
JSON Lines--format jsonlEvent streams
Parquet--format parquetData lake (TSV placeholder)