Complete stages 1 through 4 of Install LangSmith with SmithDB before starting this guide. Return there for Switch queries to SmithDB after migration cleanup.
How migration works
The migration Job reads runs from ClickHouse, writes them to SmithDB object storage, validates the result, and promotes each batch to the SmithDB metastore. TaskDB, a separate PostgreSQL database used only during migration, lets migration pods share work, recover from interruptions, and resume without starting over. It is distinct from both LangSmith PostgreSQL and the SmithDB metastore.Scope and prerequisites
Before starting:- Keep the existing ClickHouse configuration enabled and unchanged.
- Confirm SmithDB services and dual ingestion are healthy, and that new writes continue to reach ClickHouse.
Plan migration capacity
Size migration workers
Scale migration with these Helm controls:smithdb.migration.job.parallelism: The number of migration Job pods that may run concurrently.smithdb.migration.job.resources: The CPU, memory, and ephemeral storage allocated to each migration pod. On LangSmith 0.16 this key issmithdb.migration.deployment.resources.
Scale TaskDB
Monitor TaskDB CPU, memory, and active connections as parallelism increases, and raisesmithdb.migration.taskdb.postgres.statefulSet.resources as needed. Do not use the main LangSmith PostgreSQL database or the SmithDB metastore as TaskDB.
Enable migration
For chart-managed TaskDB, create a Secret in the LangSmith namespace with a strong generated password underpostgres_password. Never store it in Helm values or source control. See Use an existing secret for your installation. For external PostgreSQL, use the chart’s external TaskDB settings instead.
Reference the TaskDB Secret and enable migration. The block below collects every migration setting in one place: the langsmith flags and the TaskDB Secret are required, and the rest are chart defaults to change only when scaling.
Sample migration Helm values
Sample migration Helm values
Wait for completion
Keep SmithDB-backed queries disabled until the historical migration Job reports Kubernetes conditionComplete.
Finished migration Jobs remain for seven days by default so you can inspect their logs. The logs are diagnostic only; the Complete condition is the signal that migration finished. Retain TaskDB only if needed for diagnosis. If the Job fails, preserve it and TaskDB, then see Migration Job failures.
Return to Install LangSmith with SmithDB and complete the Switch queries to SmithDB step.
Connect these docs to your agent of choice via MCP for real-time answers.

