How it works
This is how Artie handles for each table:Backfill
- Scans full table in batches, writes directly to destination
- Can use read replica to minimize primary DB load
How to kick off a backfill
By default, when you onboard a new table, Artie will kick off a backfill to copy all the historical data to your destination. This is how you trigger an adhoc backfill:- Click on any running pipeline and go to the pipeline overview page
- Click on the Backfill tables button
Walkthrough
Walkthrough

Destination table behavior
When triggering an ad-hoc backfill, you choose what happens to the destination table before the backfill begins:Do nothing
Artie upserts rows on top of the existing destination data. Use this when the table is already partially populated and you want to fill in missing or outdated rows without re-copying data that is already correct.
Truncate
Removes all rows from the destination table before the backfill begins, while preserving the table schema, indexes, and grants. This is the simplest option for a clean, complete reload of your data.
Drop table
Drops and recreates the destination table from scratch, including its schema. Use this when the table structure has drifted significantly and you need a completely fresh start.
Advanced settings
You can configure the additional backfill options from the advanced settings on the source tab in the pipeline editor.
How are backfills ordered?
In , tables are backfilled in the order they were added, up to the concurrency limit.What happens to CDC changes during a backfill?
Our process continues to capture all changes to Kafka in the background. Once backfill completes:- We switch to CDC stream
- We apply queued changes in order
- The table transitions to fully streaming state