One more for you: What are the steps to make horizon db backfill to a specific elder ledger number? A core node may not be fully synced and may have ledger gaps.
In order to ingest a ledger, it must be present in the attached stellar-core, or has been ingested by horizon previously.
Ideally, sync a stellar-core from the desired eldest ledger (using an appropriate
CATCHUP_RECENT value) and start a horizon instance with a clean db. Horizon will then ingest the longest segment of contiguous ledgers up to present, which should be stellar core's entire history.