A Phased Delta Migration with Failback Replication involves migrating data to CockroachDB in several phases. Data can be sliced per tenant, per service, per region, or per table to suit the needs of the migration. For each given migration phase, you use MOLT Fetch to perform an initial bulk load of the data, you use MOLT Replicator to update the target database via forward replication and to activate failback replication, and then you cut over application traffic to CockroachDB after schema finalization and data verification. This process is repeated for each phase of data.
This approach is comparable to the Delta Migration, but dividing the data into multiple phases allows each downtime window to be shorter, and it allows each phase of the migration to be less complex. Depending on how you divide the data, it also may allow your downtime windows to affect only a subset of users. For example, dividing the data per region could mean that, when migrating the data from Region A, application usage in Region B may remain unaffected. This approach may increase overall migration complexity: its duration is longer, you will need to do the work of partitioning the data, and you will have a longer period when you run both the source and the target database concurrently.Failback replication keeps the source database up to date with changes that occur in the target database once the target database begins receiving write traffic. Failback replication ensures that, if something goes wrong during the migration process, traffic can easily be returned to the source database without data loss. Like forward replication, in this approach, failback replication is run on a per-phase basis. It can persist indefinitely, until you’re comfortable maintaining the target database as your sole data store.This approach is best for databases that are too large to migrate all at once, and in business cases where downtime must be minimal. It’s also suitable for risk-averse situations in which a safe rollback path must be ensured. It can only be performed if your team can handle the complexity of this approach, and if your source database can easily be divided into the phases you need.This page describes an example scenario. While the commands provided can be copy-and-pasted, they may need to be altered or reconsidered to suit the needs of your specific environment.
You have a moderately-sized (500GB) database that provides the data store for a web application. You want to migrate the entirety of this database to a new CockroachDB cluster. You will divide this migration into four geographic regions (A, B, C, and D).The application runs on a Kubernetes cluster with an NGINX Ingress Controller.Estimated system downtime: 3-5 minutes per region.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"CockroachDB","colors":{"primary":"#9059FF","light":"#9059FF","dark":"#9059FF"},"logo":{"light":"https://mintcdn.com/cockroachlabs/4WvUnbVuGZfqM4kW/images/CockroachLabs_Wordmark_Black.png?fit=max\u0026auto=format\u0026n=4WvUnbVuGZfqM4kW\u0026q=85\u0026s=54ccae625c9986bf1df8ddc7b2c571f0","dark":"https://mintcdn.com/cockroachlabs/4WvUnbVuGZfqM4kW/images/CockroachLabs_Wordmark_White.png?fit=max\u0026auto=format\u0026n=4WvUnbVuGZfqM4kW\u0026q=85\u0026s=0dd9b66973a1c7d3dd72aa67b6094efe","href":"https://www.cockroachlabs.com/"},"favicon":{"light":"https://mintcdn.com/cockroachlabs/2yihO7vMXnL0G_07/images/favicon.svg?fit=max\u0026auto=format\u0026n=2yihO7vMXnL0G_07\u0026q=85\u0026s=01f9aa59c9f275e1f35cd424a27d2551","dark":"https://mintcdn.com/cockroachlabs/2yihO7vMXnL0G_07/images/favicon.svg?fit=max\u0026auto=format\u0026n=2yihO7vMXnL0G_07\u0026q=85\u0026s=01f9aa59c9f275e1f35cd424a27d2551"},"api":{"examples":{"defaults":"required","languages":["curl"]}},"appearance":{"default":"light"},"navbar":{"primary":{"type":"button","label":"Get started free","href":"https://cockroachlabs.cloud/signup?referralId=cc_nav_global\u0026_ga=2.242886210.1147139380.1759903632-41552699.1759903632"}},"footer":{"socials":{"youtube":"https://www.youtube.com/@cockroachdb","x":"https://x.com/CockroachDB","linkedin":"https://www.linkedin.com/company/cockroach-labs/mycompany/verification","instagram":"https://www.instagram.com/cockroachdb"},"links":[{"header":"Product","items":[{"label":"CockroachDB","href":"https://www.cockroachlabs.com/product"},{"label":"CockroachDB Cloud","href":"https://www.cockroachlabs.com/product/cockroachcloud"},{"label":"Compare","href":"https://www.cockroachlabs.com/compare"},{"label":"Pricing","href":"https://www.cockroachlabs.com/pricing"},{"label":"Get CockroachDB","href":"https://www.cockroachlabs.com/get-started-cockroachdb"},{"label":"Sign In","href":"https://cockroachlabs.cloud/"}]},{"header":"Resources","items":[{"label":"Guides","href":"https://resources.cockroachlabs.com/guides"},{"label":"Webinars","href":"https://www.cockroachlabs.com/community/webinars"},{"label":"Videos","href":"https://www.cockroachlabs.com/resources/video"},{"label":"Architecture Overview","href":"https://www.cockroachlabs.com/docs/stable/architecture/overview"},{"label":"FAQ","href":"https://www.cockroachlabs.com/docs/stable/frequently-asked-questions"},{"label":"Security","href":"https://www.cockroachlabs.com/security"}]},{"header":"Learn \u0026 Support","items":[{"label":"Docs","href":"https://www.cockroachlabs.com/docs"},{"label":"University","href":"https://learn.cockroachlabs.com/"},{"label":"Developers","href":"https://www.cockroachlabs.com/developers"},{"label":"Forum","href":"https://forum.cockroachlabs.com/"},{"label":"Slack","href":"https://cockroa.ch/slack"},{"label":"Support Portal","href":"https://support.cockroachlabs.com/hc/en-us"},{"label":"Contact Us","href":"https://www.cockroachlabs.com/contact"}]},{"header":"Company","items":[{"label":"About","href":"https://www.cockroachlabs.com/about"},{"label":"Blog","href":"https://www.cockroachlabs.com/blog"},{"label":"Careers","href":"https://www.cockroachlabs.com/careers"},{"label":"Customers","href":"https://www.cockroachlabs.com/customers"},{"label":"News","href":"https://www.cockroachlabs.com/press"},{"label":"Privacy","href":"https://www.cockroachlabs.com/privacy"},{"label":"Terms of Use","href":"https://www.cockroachlabs.com/website-terms-of-use"}]}]},"fonts":{"heading":{"family":"Poppins"},"body":{"family":"Open Sans"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"catppuccin-mocha","dark":"catppuccin-mocha"}},"latex":true},"integrations":{"gtm":{"tagId":"GTM-NR8LC4"}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"The page you're looking for doesn't exist. [Return to docs home](/index.html)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"global":{"anchors":[{"anchor":"University","icon":"graduation-cap","href":"https://learn.cockroachlabs.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cockroachlabs","hasAudioNarration":false,"actualSubdomain":"cockroachlabs","customDomains":["docs.cockroachlabs.com"],"gitSource":{"type":"github","owner":"cockroachlabs","repo":"docs","deployBranch":"main","contentDirectory":"cockroachlabs-preview-main","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af5fb766d281f8985c1977e","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"CockroachDB","count":6951},{"language":"default","tag":"Docs","count":3217},{"language":"default","tag":"SQL","count":2566},{"language":"default","tag":"Statements","count":1714},{"language":"default","tag":"Self-Hosted Deployments","count":1457},{"language":"default","tag":"Reference","count":774},{"language":"default","tag":"Cloud Deployments","count":616},{"language":"default","tag":"Endpoints","count":528},{"language":"default","tag":"Cloud API Reference","count":518},{"language":"default","tag":"Get Started","count":441}],"searchSettings":{"isFiltersEnabled":true,"showContentSnippets":true,"fullPageSearch":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":":root{--inline-code-bg-light: rgb(var(--gray-200) / 0.92);--inline-code-bg-dark: rgb(255 255 255 / 0.08)}.prose :not(pre)>code{background-color:var(--inline-code-bg-light)!important}.dark .prose :not(pre)>code{background-color:var(--inline-code-bg-dark)!important}@media (min-width: 1536px){#navbar>.max-w-8xl,[class*=\"peer-[.is-not-custom]:peer-[.is-not-center]:max-w-8xl\"]{width:100%!important;max-width:none!important}}#navigation-items{display:flex;flex-direction:column}#navigation-items>ul:not(.sidebar-group){order:1;margin-top:1.5rem}.crdb-metrics-table table{table-layout:fixed!important;width:100%!important;min-width:0!important;max-width:100%!important;border-collapse:collapse}.crdb-metrics-table table td,.crdb-metrics-table table th{min-width:0!important;overflow-wrap:anywhere;word-break:break-word}.crdb-fixed-table table{table-layout:fixed!important;width:100%!important;min-width:0!important;max-width:100%!important;border-collapse:collapse}.crdb-fixed-table table td,.crdb-fixed-table table th{min-width:0!important;overflow-wrap:anywhere;word-break:break-word}.bg-cover{background-size:cover;background-repeat:no-repeat;background-position:center center}.bg-cover__bg-3-1{background-image:url(\"https://cockroach-labs-docs.imgix.net/bg-3-1.png?auto=format,compress\u0026w=1200\u0026q=40\")}.home-header{border-radius:0.5rem;margin-bottom:2rem!important;padding:2rem}.card{border:1px solid #e5e7eb;border-radius:0.75rem;background-color:white}.dark .card{background-color:#0d1117;border-color:rgba(255, 255, 255, 0.1)}.card-link{text-decoration:none!important;overflow:hidden}.card-link:hover{outline:1px solid rgba(105, 51, 255, 0.55);outline-offset:-1px}.card-link,.card-link:hover{transform:none!important;box-shadow:none!important}.card-link a,.card-link a:hover,.card-link h3,.card-link h3:hover,.card-link p,.card-link p:hover{border:0!important;text-decoration:none!important;transform:none!important}.card-link a{display:block;width:100%}.card-link h3{font-size:1rem!important;font-weight:600!important}.card-body{padding:1.5rem}.landing-column-title{margin-bottom:1rem}.overline{text-transform:uppercase;letter-spacing:0.05em}.btn-redirect{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;border:2px solid #e5e7eb;border-radius:0.5rem;text-decoration:none;transition:border-color 0.2s}.btn-redirect:hover{border-color:#6933ff}.btn-block{display:flex;width:100%;justify-content:center}.dark .btn-redirect{border-color:rgba(255, 255, 255, 0.1)}.article-section-title{font-size:1.25rem!important}.article-lists h3{font-size:0.875rem!important;font-weight:600!important;text-transform:uppercase;letter-spacing:0.05em;color:#6b7280!important}.dark .article-lists h3{color:#9ca3af!important}.article-lists ul{font-size:0.875rem}.shadow{box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.bg-dark-wing{background-color:#152849;border-radius:0.5rem}.text-ice-temple{color:#1bf8ec!important;display:inline-flex;align-items:center;gap:0.375rem}.text-ice-temple img{display:inline-block;margin:0}.bg-dark-wing h2{font-size:clamp(1.25rem, 1rem + 1.5vw, 1.75rem)!important}@media (max-width: 576px){.card-body.bg-dark-wing{padding:1.25rem!important}}.text-decoration-none{text-decoration:none!important}.text-muted{color:#6b7280!important}.card-link .card-desc{font-size:0.9375rem!important;font-weight:400!important;line-height:1.5!important;text-align:left!important;color:#4b5563!important;width:100%;margin-top:0.5rem}.dark .card-link .card-desc{color:#9ca3af!important}.report-tag{display:inline-block;padding:0.25rem 0.75rem;border-radius:0.25rem;background-color:rgba(84, 42, 189, 0.08);color:#542abd}.dark .report-tag{background-color:rgba(84, 42, 189, 0.3);color:#b39dff}.resilience-report-img{background-image:url(\"/images/state-resilience.png\");background-size:cover;background-position:center;min-height:150px;border-radius:0.5rem}.row{display:flex!important;flex-wrap:wrap;margin-left:-0.75rem;margin-right:-0.75rem}.display-flex{display:flex!important}.col-lg-4{flex:0 0 auto;width:100%;padding-left:0.75rem;padding-right:0.75rem}@media (min-width: 992px){.col-lg-4{width:33.333333%!important}}.col-lg-3,.col-sm-6,.col-xs-12{flex:0 0 auto;width:100%!important;padding-left:0.75rem;padding-right:0.75rem}@media (min-width: 992px){.col-lg-3{width:25%!important}}@media (min-width: 576px){.col-sm-6{width:50%!important}}.col-12{width:100%!important}.col-lg-12{width:100%;padding-left:0.75rem;padding-right:0.75rem}@media (min-width: 992px){.col-lg-12{width:100%!important}}.col-md-4,.col-md-8{flex:0 0 auto;width:100%;padding-left:0.75rem;padding-right:0.75rem}@media (min-width: 768px){.col-md-4{width:33.333333%!important}.col-md-8{width:66.666667%!important}}.h-100{height:100%}.d-flex{display:flex}.flex-column{flex-direction:column}.mb-3{margin-bottom:1rem!important}.mb-5{margin-bottom:3rem!important}.pb-5{padding-bottom:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.mt-auto{margin-top:auto!important}.mt-0{margin-top:0!important}.mt-2{margin-top:0.5rem!important}.mt-3{margin-top:1rem!important}.mt-5:not(.code-block){margin-top:3rem!important}.code-block.mb-8{margin-bottom:calc(var(--spacing) * 5)}.pt-5{padding-top:3rem!important}.m-0{margin:0!important}.ml-2{margin-left:0.5rem!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:0.5rem!important}.mb-4{margin-bottom:1.5rem!important}.p-2{padding:0.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.ml-1{margin-left:0.25rem!important}.mr-auto{margin-right:auto!important}.justify-content-center{justify-content:center!important}.align-items-center{align-items:center!important}@media (min-width: 1200px){.p-xl-5{padding:3rem!important}}.mx-0{margin-left:0!important;margin-right:0!important}.text-center{text-align:center}.text-white{color:white!important}.text-black{color:black!important}.dark .text-black{color:white!important}.container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.card-header-overlap-text{position:relative}@media (min-width: 768px){.p-md-5{padding:3rem!important}}@media (min-width: 992px){.d-lg-flex{display:flex!important}.mb-lg-0{margin-bottom:0!important}}.prose table{border-collapse:collapse!important}.prose table th,.prose table td{border:1px solid rgb(var(--gray-200))!important}.dark .prose table th,.dark .prose table td{border-color:rgb(var(--gray-700) / 0.5)!important}.prose table th{padding:0.571429em;font-weight:600;vertical-align:bottom;color:var(--tw-prose-headings);text-align:left}.prose table th.center-align{text-align:center}.prose table td{padding:0.571429em;vertical-align:baseline}[data-component-part=\"accordion-description\"]{font-size:0.875rem!important}.accordion.mb-3{margin-bottom:0.25rem!important}@media (max-width: 991.98px){[id^=\"kapa-widget-container\"] button{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;font-size:0!important}[id^=\"kapa-widget-container\"] button svg{width:18px!important;height:18px!important}[id^=\"kapa-widget-container\"] button span{display:none!important}}table.crdb-fixed-table{table-layout:fixed!important;min-width:0!important;width:100%}table.crdb-fixed-table td,table.crdb-fixed-table th{min-width:0!important;overflow-wrap:break-word;word-break:normal}.sql-grammar svg .line{fill:none;stroke:#262626}.sql-grammar svg .bold-line{stroke:#0A0A0A;shape-rendering:crispEdges;stroke-width:2}.sql-grammar svg .thin-line{stroke:#0F0F0F;shape-rendering:crispEdges}.sql-grammar svg .filled{fill:#262626;stroke:none}.sql-grammar svg text.terminal{font-family:Verdana, Sans-serif;font-size:12px;fill:#0A0A0A;font-weight:bold}.sql-grammar svg text.nonterminal{font-family:Verdana, Sans-serif;font-size:12px;fill:#0055FF}.sql-grammar svg text.regexp{font-family:Verdana, Sans-serif;font-size:12px;fill:#0F0F0F}.sql-grammar svg rect,.sql-grammar svg circle,.sql-grammar svg polygon{fill:#262626;stroke:#262626}.sql-grammar svg rect.terminal{fill:#ffffff;stroke:#262626}.sql-grammar svg rect.nonterminal{fill:#FFFFFF;stroke:#262626}.sql-grammar svg rect.text{fill:none;stroke:none}.sql-grammar svg polygon.regexp{fill:#FFFFFF;stroke:#262626}.sql-grammar svg{background-color:#ffffff}.sql-grammar a[name]::before{content:'';display:block;height:80px;margin:-80px 0 0}.sql-grammar a[name]:focus{outline:0}pre[language=\"sql\"][data-crdb-prompt-stripped] code::before{content:\"> \";color:#94e2d5;user-select:none}.mark-yes{color:#008a5e;font-weight:600}.dark .mark-yes{color:#3ddc97}"},{"filePath":"collapse-nav.css","content":"html:not(.crl-nav-off) [data-layout-item=\"sidebar\"] li[data-title]:not([data-active]):not([data-crl-keep])>button+ul,html:not(.crl-nav-off) [data-layout-item=\"mobile-nav\"] li[data-title]:not([data-active]):not([data-crl-keep])>button+ul{display:none}html:not(.crl-nav-off) [data-layout-item=\"sidebar\"] li[data-title]:not([data-active]):not([data-crl-keep])>button svg,html:not(.crl-nav-off) [data-layout-item=\"mobile-nav\"] li[data-title]:not([data-active]):not([data-crl-keep])>button svg{rotate:none!important;transform:none!important}"}],"page":{"pagePath":"docs/molt/migration-approach-phased-delta-failback","slug":"/docs/molt/migration-approach-phased-delta-failback","pageMetadata":{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","old_description":"Learn what a Phased Delta Migration with Failback Replication is, how it relates to the migration considerations, and how to perform it using MOLT tools.","description":null,"href":"/docs/molt/migration-approach-phased-delta-failback"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,em:`em`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,OptimizedImage}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.em,{children:`Phased Delta Migration with Failback Replication`}),` involves `,_jsx(_components.a,{href:`/docs/molt/migration-overview`,children:`migrating data to CockroachDB`}),` in several phases. Data can be sliced per tenant, per service, per region, or per table to suit the needs of the migration. `,_jsx(_components.strong,{children:`For each given migration phase`}),`, you use `,_jsx(_components.a,{href:`/docs/molt/molt-fetch`,children:`MOLT Fetch`}),` to perform an initial bulk load of the data, you use `,_jsx(_components.a,{href:`/docs/molt/molt-replicator`,children:`MOLT Replicator`}),` to update the target database via forward replication and to activate failback replication, and then you cut over application traffic to CockroachDB after schema finalization and data verification. This process is repeated for each phase of data.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Data is migrated to the target `,_jsx(_components.a,{href:`/docs/molt/migration-considerations-granularity`,children:`in phases`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`This approach utilizes `,_jsx(_components.a,{href:`/docs/molt/migration-considerations-replication`,children:`continuous replication`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/docs/molt/migration-considerations-rollback`,children:`Rollback`}),` is achieved via failback replication.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`This approach is comparable to the `,_jsx(_components.a,{href:`/docs/molt/migration-approach-delta`,children:`Delta Migration`}),`, but dividing the data into multiple phases allows each downtime window to be shorter, and it allows each phase of the migration to be less complex. Depending on how you divide the data, it also may allow your downtime windows to affect only a subset of users. For example, dividing the data per region could mean that, when migrating the data from Region A, application usage in Region B may remain unaffected. This approach may increase overall migration complexity: its duration is longer, you will need to do the work of partitioning the data, and you will have a longer period when you run both the source and the target database concurrently.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/docs/molt/migration-considerations-rollback`,children:`Failback replication`}),` keeps the source database up to date with changes that occur in the target database once the target database begins receiving write traffic. Failback replication ensures that, if something goes wrong during the migration process, traffic can easily be returned to the source database without data loss. Like forward replication, in this approach, failback replication is run on a per-phase basis. It can persist indefinitely, until you’re comfortable maintaining the target database as your sole data store.`]}),`\n`,_jsx(_components.p,{children:`This approach is best for databases that are too large to migrate all at once, and in business cases where downtime must be minimal. It’s also suitable for risk-averse situations in which a safe rollback path must be ensured. It can only be performed if your team can handle the complexity of this approach, and if your source database can easily be divided into the phases you need.`}),`\n`,_jsx(_components.p,{children:`This page describes an example scenario. While the commands provided can be copy-and-pasted, they may need to be altered or reconsidered to suit the needs of your specific environment.`}),`\n`,_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_delta_flow.svg?fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=1e158ae44b606980847737ee49418a2a`,alt:`Phased Delta Migration flow`,style:{maxWidth:`100%`,marginLeft:`auto`,marginRight:`auto`},\"data-og-width\":`470`,width:`470`,\"data-og-height\":`534`,height:`534`,\"data-path\":`images/molt/molt_phased_delta_flow.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_delta_flow.svg?w=280\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=dd07e41cb750ae362ff39531e869b980 280w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_delta_flow.svg?w=560\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=734d68ef363ab80ab96e67e1eb2649e9 560w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_delta_flow.svg?w=840\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=8e598beb9501e533aa7241fe765c941f 840w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_delta_flow.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=292c89ad10335d65ed6558caa200a115 1100w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_delta_flow.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=e9f030802a00ec4e67d28250abb80f09 1650w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_delta_flow.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=c9e87bef6fa39fbd8beac0b3cec657d3 2500w`}),`\n`,_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_delta_flow-dark.svg?fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=ec90940ae18746f1691fbf3740879c2d`,alt:`Phased Delta Migration flow`,style:{maxWidth:`100%`,marginLeft:`auto`,marginRight:`auto`},\"data-og-width\":`470`,width:`470`,\"data-og-height\":`534`,height:`534`,\"data-path\":`images/molt/molt_phased_delta_flow-dark.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_delta_flow-dark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=93ed3e0081b9509262aeef86858b6960 280w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_delta_flow-dark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=c2c914db4106ac19172b156c18e515cb 560w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_delta_flow-dark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=12f1073559b9a31a438dda6cab8bad0d 840w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_delta_flow-dark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=11e21d92677fc4baf0f61dabe68fcef0 1100w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_delta_flow-dark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=9447bdd7862aebd6a8767f53f9623863 1650w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_delta_flow-dark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=d41541c9d21ce4fbf45c178e904e7ae6 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`example-scenario`,children:`Example scenario`}),`\n`,_jsx(_components.p,{children:`You have a moderately-sized (500GB) database that provides the data store for a web application. You want to migrate the entirety of this database to a new CockroachDB cluster. You will divide this migration into four geographic regions (A, B, C, and D).`}),`\n`,_jsx(_components.p,{children:`The application runs on a Kubernetes cluster with an NGINX Ingress Controller.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Estimated system downtime:`}),` 3-5 minutes per region.`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-by-step-walkthroughs`,children:`Step-by-step walkthroughs`}),`\n`,_jsx(_components.p,{children:`The following walkthroughs demonstrate how to use the MOLT tools to perform this migration for each supported source database:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/phased-delta-failback-postgres`,children:`Phased Delta Migration with Failback Replication from PostgreSQL`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/phased-delta-failback-mysql`,children:`Phased Delta Migration with Failback Replication from MySQL`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/phased-delta-failback-oracle`,children:`Phased Delta Migration with Failback Replication from Oracle`})}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`For CockroachDB-to-CockroachDB migrations, contact your account team for guidance.`})}),`\n`,_jsx(Heading,{level:`2`,id:`see-also`,children:`See also`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/migration-overview`,children:`Migration Overview`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/migration-considerations`,children:`Migration Considerations`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/migration-approach-classic-bulk-load`,children:`Classic Bulk Load Migration`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/molt-fetch`,children:`MOLT Fetch`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/molt-verify`,children:`MOLT Verify`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"catppuccin-mocha","dark":"catppuccin-mocha"}},"config":{},"pageMetadata":{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","old_description":"Learn what a Phased Delta Migration with Failback Replication is, how it relates to the migration considerations, and how to perform it using MOLT tools.","description":null,"href":"/docs/molt/migration-approach-phased-delta-failback"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Example scenario","slug":"example-scenario","depth":2,"children":[]},{"title":"Step-by-step walkthroughs","slug":"step-by-step-walkthroughs","depth":2,"children":[]},{"title":"See also","slug":"see-also","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cockroachlabs/4695317e415d4eba/kapa.js","/_mintlify/custom/cockroachlabs/40fb45a3cfe42c92/copy-code-prompt.js","/_mintlify/custom/cockroachlabs/3f343c9e8c40397a/collapse-nav.js"],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"cockroachlabs","siteName":"CockroachDB","title":"Phased Delta Migration with Failback Replication - CockroachDB","navMaps":{"firstHrefInVersion":{"v26.4":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v26.3":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v26.2":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v26.1":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v25.4":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v25.3":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v25.2":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v25.1":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v24.3":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v24.1":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v23.2":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0},"v23.1":{"href":"/docs/molt/migration-approach-phased-delta-failback","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T17:56:18.742Z","originalFileLocation":"docs/molt/migration-approach-phased-delta-failback.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"CockroachDB\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Phased Delta Migration with Failback Replication - CockroachDB\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CockroachDB\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cockroachlabs.mintlify.site/_mintlify/api/og/v2?division=Phased+Delta+Migration+with+Failback+Replication\u0026amp;title=Phased+Delta+Migration+with+Failback+Replication\u0026amp;theme=4aeed7318cb28bd50868adb3\u0026amp;signature=59c11958c8db969c3d91d746b412ee1c70880d31edbaa2d44f3b659dfa35ead4\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Phased Delta Migration with Failback Replication - CockroachDB\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cockroachlabs.mintlify.site/_mintlify/api/og/v2?division=Phased+Delta+Migration+with+Failback+Replication\u0026amp;title=Phased+Delta+Migration+with+Failback+Replication\u0026amp;theme=4aeed7318cb28bd50868adb3\u0026amp;signature=59c11958c8db969c3d91d746b412ee1c70880d31edbaa2d44f3b659dfa35ead4\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cockroachlabs/c9BlkJ0WBi2Ma7w-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CockroachDB\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9059FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/molt/migration-approach-phased-delta-failback.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cockroachlabs.com/#organization\",\"name\":\"CockroachDB\",\"url\":\"https://docs.cockroachlabs.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cockroachlabs/4WvUnbVuGZfqM4kW/images/CockroachLabs_Wordmark_Black.png?fit=max\u0026auto=format\u0026n=4WvUnbVuGZfqM4kW\u0026q=85\u0026s=54ccae625c9986bf1df8ddc7b2c571f0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cockroachlabs.com#website\",\"name\":\"CockroachDB\",\"url\":\"https://docs.cockroachlabs.com\",\"publisher\":{\"@id\":\"https://docs.cockroachlabs.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback#webpage\",\"url\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback\",\"name\":\"Phased Delta Migration with Failback Replication\",\"dateModified\":\"2026-11-12T17:56:18.742Z\",\"isPartOf\":{\"@id\":\"https://docs.cockroachlabs.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Common Migration Approaches\",\"item\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-classic-bulk-load\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Phased Delta Migration with Failback Replication\",\"item\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback#article\",\"headline\":\"Phased Delta Migration with Failback Replication\",\"name\":\"Phased Delta Migration with Failback Replication\",\"url\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-delta-failback#webpage\"},\"dateModified\":\"2026-11-12T17:56:18.742Z\",\"publisher\":{\"@id\":\"https://docs.cockroachlabs.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cockroachlabs.com#website\"}}]}\u003c/script>","agentPointerHref":"/docs/molt/migration-approach-phased-delta-failback.md","siteName":"CockroachDB","nav":{"global":{"anchors":[{"anchor":"University","icon":"graduation-cap","href":"https://learn.cockroachlabs.com/"}]},"products":[{"product":"Cockroach Continuum Cloud","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cockroachlabs/images/continuum/cockroachlabs-symbol.svg","description":"The agentic database cloud","pages":[{"title":"Cockroach Continuum Cloud","href":"/docs/continuum"}]},{"product":"CockroachDB","icon":"database","description":"Distributed SQL database","versions":[{"version":"v26.4","default":true,"tag":"Stable","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/stable"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","expanded":true,"pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","expanded":true,"pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","expanded":true,"pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","expanded":true,"pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","expanded":true,"pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","expanded":true,"pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","expanded":true,"pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/stable/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/stable/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/stable/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/stable/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/stable/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/stable/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/stable/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/stable/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/stable/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/stable/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/stable/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/stable/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/stable/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/stable/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/stable/troubleshooting-overview"}]}]},{"version":"v26.3","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v26.3"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v26.3/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v26.3/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v26.3/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v26.3/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v26.3/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v26.3/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v26.3/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v26.3/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v26.3/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v26.3/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v26.3/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v26.3/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v26.3/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v26.3/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v26.3/troubleshooting-overview"}]}]},{"version":"v26.2","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v26.2"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v26.2/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v26.2/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v26.2/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v26.2/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v26.2/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v26.2/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v26.2/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v26.2/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v26.2/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v26.2/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v26.2/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v26.2/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v26.2/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v26.2/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v26.2/troubleshooting-overview"}]}]},{"version":"v26.1","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v26.1"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v26.1/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v26.1/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v26.1/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v26.1/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v26.1/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v26.1/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v26.1/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v26.1/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v26.1/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v26.1/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v26.1/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v26.1/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v26.1/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v26.1/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v26.1/troubleshooting-overview"}]}]},{"version":"v25.4","tag":"LTS","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v25.4"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v25.4/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v25.4/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v25.4/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v25.4/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v25.4/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v25.4/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v25.4/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v25.4/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v25.4/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v25.4/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v25.4/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v25.4/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v25.4/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v25.4/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v25.4/troubleshooting-overview"}]}]},{"version":"v25.3","tag":"Unsupported","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v25.3"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v25.3/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v25.3/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v25.3/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v25.3/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v25.3/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v25.3/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v25.3/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v25.3/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v25.3/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v25.3/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v25.3/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v25.3/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v25.3/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v25.3/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v25.3/troubleshooting-overview"}]}]},{"version":"v25.2","tag":"LTS","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v25.2"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v25.2/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v25.2/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v25.2/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v25.2/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v25.2/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v25.2/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v25.2/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v25.2/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v25.2/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v25.2/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v25.2/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v25.2/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v25.2/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v25.2/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v25.2/troubleshooting-overview"}]}]},{"version":"v25.1","tag":"Unsupported","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v25.1"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v25.1/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v25.1/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v25.1/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v25.1/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v25.1/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v25.1/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v25.1/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v25.1/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v25.1/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v25.1/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v25.1/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v25.1/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v25.1/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v25.1/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v25.1/troubleshooting-overview"}]}]},{"version":"v24.3","tag":"LTS","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v24.3"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v24.3/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v24.3/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v24.3/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v24.3/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v24.3/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v24.3/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v24.3/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v24.3/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v24.3/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v24.3/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v24.3/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v24.3/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v24.3/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v24.3/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v24.3/troubleshooting-overview"}]}]},{"version":"v24.1","tag":"LTS","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v24.1"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v24.1/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v24.1/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v24.1/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v24.1/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v24.1/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v24.1/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v24.1/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v24.1/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v24.1/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v24.1/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v24.1/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v24.1/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v24.1/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v24.1/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v24.1/troubleshooting-overview"}]}]},{"version":"v23.2","tag":"LTS","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v23.2"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v23.2/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v23.2/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v23.2/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v23.2/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v23.2/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v23.2/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v23.2/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v23.2/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v23.2/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v23.2/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v23.2/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v23.2/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v23.2/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v23.2/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v23.2/troubleshooting-overview"}]}]},{"version":"v23.1","tag":"Unsupported","tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs/v23.1"}]},{"tab":"Migrate","icon":"arrow-right-arrow-left","pages":[{"title":"Migration Overview","sidebarTitle":"Overview","href":"/docs/molt/migration-overview"},{"group":"Migration Considerations","pages":[{"title":"Migration Considerations","sidebarTitle":"Overview","href":"/docs/molt/migration-considerations"},{"title":"Migration Granularity","href":"/docs/molt/migration-considerations-granularity"},{"title":"Continuous Replication","href":"/docs/molt/migration-considerations-replication"},{"title":"Data Transformation Strategy","href":"/docs/molt/migration-considerations-transformation"},{"title":"Validation Strategy","href":"/docs/molt/migration-considerations-validation"},{"title":"Rollback Plan","href":"/docs/molt/migration-considerations-rollback"}]},{"title":"Migration Best Practices","href":"/docs/molt/migration-strategy"},{"group":"MOLT Tools","pages":[{"group":"Fetch","pages":[{"title":"MOLT Fetch","sidebarTitle":"Guide","href":"/docs/molt/molt-fetch"},{"title":"MOLT Fetch Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-fetch-installation"},{"title":"MOLT Fetch Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/molt-fetch-commands-and-flags"},{"title":"MOLT Fetch Metrics","sidebarTitle":"Metrics","href":"/docs/molt/molt-fetch-monitoring"},{"title":"MOLT Fetch Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-fetch-best-practices"},{"title":"MOLT Fetch Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-fetch-troubleshooting"}]},{"group":"Replicator","pages":[{"title":"MOLT Replicator","sidebarTitle":"Guide","href":"/docs/molt/molt-replicator"},{"title":"MOLT Replicator Installation","sidebarTitle":"Installation","href":"/docs/molt/molt-replicator-installation"},{"title":"MOLT Replicator Commands and Flags","sidebarTitle":"Commands and Flags","href":"/docs/molt/replicator-flags"},{"group":"Userscripts","pages":[{"title":"Userscript Overview","sidebarTitle":"Overview","href":"/docs/molt/userscript-overview"},{"title":"Userscript Quickstart","sidebarTitle":"Quickstart","href":"/docs/molt/userscript-quickstart"},{"title":"Userscript API","sidebarTitle":"API","href":"/docs/molt/userscript-api"},{"title":"Userscript Cookbook","sidebarTitle":"Cookbook","href":"/docs/molt/userscript-cookbook"},{"title":"Userscript Metrics","sidebarTitle":"Metrics","href":"/docs/molt/userscript-metrics"}]},{"title":"MOLT Replicator Metrics","sidebarTitle":"Metrics","href":"/docs/molt/replicator-metrics"},{"title":"MOLT Replicator Best Practices","sidebarTitle":"Best Practices","href":"/docs/molt/molt-replicator-best-practices"},{"title":"MOLT Replicator Troubleshooting","sidebarTitle":"Troubleshooting","href":"/docs/molt/molt-replicator-troubleshooting"}]},{"title":"MOLT Verify","sidebarTitle":"Verify","href":"/docs/molt/molt-verify"}]},{"group":"Common Migration Approaches","pages":[{"group":"Classic Bulk Load Migration","pages":[{"title":"Classic Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-classic-bulk-load"},{"title":"Classic Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/classic-bulk-load-postgres"},{"title":"Classic Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/classic-bulk-load-mysql"},{"title":"Classic Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/classic-bulk-load-oracle"}]},{"group":"Phased Bulk Load Migration","pages":[{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-bulk-load"},{"title":"Phased Bulk Load Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/phased-bulk-load-postgres"},{"title":"Phased Bulk Load Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-bulk-load-mysql"},{"title":"Phased Bulk Load Migration from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-bulk-load-oracle"}]},{"group":"Delta Migration","pages":[{"title":"Delta Migration","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-delta"},{"title":"Delta Migration from PostgreSQL","sidebarTitle":"From PostgreSQL","href":"/docs/molt/delta-migration-postgres"},{"title":"Delta Migration from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/delta-migration-mysql"},{"title":"Delta Migration from Oracle","sidebarTitle":"From Oracle","description":null,"href":"/docs/molt/delta-migration-oracle"}]},{"group":"Phased Delta Migration with Failback Replication","pages":[{"title":"Phased Delta Migration with Failback Replication","sidebarTitle":"Overview","href":"/docs/molt/migration-approach-phased-delta-failback"},{"title":"Phased Delta Migration with Failback Replication from PostgreSQL","sidebarTitle":"From PostgreSQL","description":null,"href":"/docs/molt/phased-delta-failback-postgres"},{"title":"Phased Delta Migration with Failback Replication from MySQL","sidebarTitle":"From MySQL","href":"/docs/molt/phased-delta-failback-mysql"},{"title":"Phased Delta Migration with Failback Replication from Oracle","sidebarTitle":"From Oracle","href":"/docs/molt/phased-delta-failback-oracle"}]}]},{"group":"Third-Party Migration Tools","pages":[{"title":"Migrate with AWS Database Migration Service (DMS)","sidebarTitle":"AWS DMS","href":"/docs/v23.1/aws-dms"},{"title":"Migrate and Replicate Data with Qlik Replicate","sidebarTitle":"Qlik Replicate","href":"/docs/v23.1/qlik"},{"title":"Migrate and Replicate Data with Striim","sidebarTitle":"Striim","href":"/docs/v23.1/striim"},{"title":"Migrate and Replicate Data with Oracle GoldenGate","sidebarTitle":"Oracle GoldenGate","href":"/docs/v23.1/goldengate"},{"title":"Migrate Data with Debezium","sidebarTitle":"Debezium","href":"/docs/v23.1/debezium"}]},{"group":"Migrate Data Types","pages":[{"title":"Migrate from CSV","href":"/docs/v23.1/migrate-from-csv"},{"title":"Migrate from Avro","href":"/docs/v23.1/migrate-from-avro"},{"title":"Migrate from Shapefiles","href":"/docs/v23.1/migrate-from-shapefiles"},{"title":"Migrate from OpenStreetMap","href":"/docs/v23.1/migrate-from-openstreetmap"},{"title":"Migrate from GeoJSON","href":"/docs/v23.1/migrate-from-geojson"},{"title":"Migrate from GeoPackage","href":"/docs/v23.1/migrate-from-geopackage"},{"title":"Import Performance Best Practices","href":"/docs/v23.1/import-performance-best-practices"}]}]},{"tab":"SQL","icon":"code","pages":[{"title":"SQL","href":"/docs/v23.1/sql-statements"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/docs/v23.1/architecture/glossary"}]},{"tab":"Cluster API","icon":"rocket","pages":[{"title":"Cluster API","href":"/docs/api/cluster"}]},{"tab":"Troubleshoot","icon":"bug","pages":[{"title":"Troubleshoot","href":"/docs/v23.1/troubleshooting-overview"}]}]}]},{"product":"Cloud Deployments","icon":"cloud","description":"Fully managed CockroachDB","pages":[{"title":"Cloud Deployments","href":"/docs/cockroachcloud"}]},{"product":"Releases","icon":"list","description":"Version history, support policy \u0026 advisories","pages":[{"title":"Releases","href":"/docs/releases"}]}]},"basePath":"","title":"Phased Delta Migration with Failback Replication - CockroachDB","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}