GitHub
05/15/2026, 4:20 PMmeltano state to facilitate migrating Singer state between backends (e.g. from S3 to Snowflake):
# Export state from one backend
meltano --env-file s3.env state export > states.json
# Import into another backend
meltano --env-file snowflake.env state import states.json
# Or pipe directly
meltano --env-file s3.env state export | meltano --env-file snowflake.env state import
meltano state export
Writes all state to stdout as a JSON mapping keyed by state ID. Each value preserves both completed and partial state (not just the merged view), making round-trips lossless:
{
"dev:tap-github-to-target-postgres": {"completed": {"singer_state": {...}}, "partial": {}},
...
}
meltano state import [FILE|-]
Reads the mapping produced by export from a file argument or from stdin (when no file is given). Overwrites each state ID in the target backend directly via set() rather than update(), so no unintended merging occurs.
StateStoreManager.get_all() / set_all()
Two new non-abstract bulk methods on the base class default to iterating individual `get`/`set` calls. Backends can override them for efficiency (e.g. a single bulk DB query).
Checklist
• I have read the contribution guide
Was generative AI tooling used to co-author this PR?
• Yes (please specify the tool below)
Generated-by: Claude Sonnet 4.6 following the agentic coding guidelines
Related Issues
• Closes #10019
meltano/meltanoGitHub
05/15/2026, 7:02 PM