A Phased Bulk Load Migration 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. In this approach, you stop application traffic to the source database only for the tables in a particular slice of data. You then migrate that phase of data to the target cluster using MOLT Fetch during a downtime window. Application traffic is then cut over to those target tables after schema finalization and data verification. This process is repeated for each phase of data.
Rollback is manual. If you wish to roll back before the target has received any writes that are not present on the source database, nothing needs to be done. If you wish to roll back after the target has received writes that are not present on the source database, you must manually replicate these new rows on the source.
This approach is comparable to the Classic Bulk Load 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.This approach is best for databases that are too large to migrate all at once, internal tools, dev/staging environments, and production environments that can handle business disruption. It can only be performed if your system can handle downtime for each migration phase, 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). You schedule a maintenance window for each region over four subsequent evenings, and you announce them to your users (per region) several weeks in advance.The application runs on a Kubernetes cluster.Estimated system downtime: 4 hours 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.4124","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":"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},{"name":"llms-txt-v2","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-bulk-load","slug":"/docs/molt/migration-approach-phased-bulk-load","pageMetadata":{"title":"Phased Bulk Load Migration","sidebarTitle":"Overview","old_description":"Learn what a Phased Bulk Load Migration is, how it relates to the migration considerations, and how to perform it using MOLT tools.","description":null,"href":"/docs/molt/migration-approach-phased-bulk-load"},"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 Bulk Load Migration`}),` 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. In this approach, you stop application traffic to the source database `,_jsx(_components.em,{children:`only`}),` for the tables in a particular slice of data. You then migrate that phase of data to the target cluster using `,_jsx(_components.a,{href:`/docs/molt/molt-fetch`,children:`MOLT Fetch`}),` during a `,_jsx(_components.strong,{children:`downtime window`}),`. Application traffic is then cut over to those target tables 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 does not utilize `,_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 manual. If you wish to roll back before the target has received any writes that are not present on the source database, nothing needs to be done. If you wish to roll back after the target has received writes that are not present on the source database, you must manually replicate these new rows on the source.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`This approach is comparable to the `,_jsx(_components.a,{href:`/docs/molt/migration-approach-classic-bulk-load`,children:`Classic Bulk Load 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`,_jsx(_components.p,{children:`This approach is best for databases that are too large to migrate all at once, internal tools, dev/staging environments, and production environments that can handle business disruption. It can only be performed if your system can handle downtime for each migration phase, 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_bulk_load_flow.svg?fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=1f3c5b889b36fcc6a704b290f652c308`,alt:`Phased Bulk Load Migration flow`,style:{maxWidth:`100%`,marginLeft:`auto`,marginRight:`auto`},\"data-og-width\":`456`,width:`456`,\"data-og-height\":`326`,height:`326`,\"data-path\":`images/molt/molt_phased_bulk_load_flow.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_bulk_load_flow.svg?w=280\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=407b073048f26221c7387f43b1d00520 280w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_bulk_load_flow.svg?w=560\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=c6c5b558d6b2dbbccb0da1a6473e24ae 560w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_bulk_load_flow.svg?w=840\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=d7919c852cea6ee4a880b588c00df4c8 840w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_bulk_load_flow.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=ebda095780924539378c715ede560956 1100w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_bulk_load_flow.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=b236e4dfdb99e02adb80bc5f13dca631 1650w, https://mintcdn.com/cockroachlabs/mEy4bzaxzRbvNkMw/images/molt/molt_phased_bulk_load_flow.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=mEy4bzaxzRbvNkMw\u0026q=85\u0026s=ab19ab90e70dea54c6aef25776e14b21 2500w`}),`\n`,_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_bulk_load_flow-dark.svg?fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=984b5f9703016548eda921e37799a783`,alt:`Phased Bulk Load Migration flow`,style:{maxWidth:`100%`,marginLeft:`auto`,marginRight:`auto`},\"data-og-width\":`456`,width:`456`,\"data-og-height\":`326`,height:`326`,\"data-path\":`images/molt/molt_phased_bulk_load_flow-dark.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_bulk_load_flow-dark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=d7de1c4f0cf8290a7533840e3f531194 280w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_bulk_load_flow-dark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=7dab26b2a71772ecfb86ac1b527557ef 560w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_bulk_load_flow-dark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=a115731673d29ece22a58bc5f3f6d19d 840w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_bulk_load_flow-dark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=96a021a5db9fc330db4c226080a480b6 1100w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_bulk_load_flow-dark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=c26512d1a292bc5c340be1f93ecbc0fd 1650w, https://mintcdn.com/cockroachlabs/MF8mAad_YQiufSzr/images/molt/molt_phased_bulk_load_flow-dark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=MF8mAad_YQiufSzr\u0026q=85\u0026s=589bc2f105ad5a1f48b7cd150281130d 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). You schedule a maintenance window for each region over four subsequent evenings, and you announce them to your users (per region) several weeks in advance.`}),`\n`,_jsx(_components.p,{children:`The application runs on a Kubernetes cluster.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Estimated system downtime:`}),` 4 hours 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-bulk-load-postgres`,children:`Phased Bulk Load Migration from PostgreSQL`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/phased-bulk-load-mysql`,children:`Phased Bulk Load Migration from MySQL`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/molt/phased-bulk-load-oracle`,children:`Phased Bulk Load Migration 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 Bulk Load Migration","sidebarTitle":"Overview","old_description":"Learn what a Phased Bulk Load Migration is, how it relates to the migration considerations, and how to perform it using MOLT tools.","description":null,"href":"/docs/molt/migration-approach-phased-bulk-load"}}},"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 Bulk Load Migration - CockroachDB","navMaps":{"firstHrefInVersion":{"v26.4":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v26.3":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v26.2":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v26.1":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v25.4":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v25.3":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v25.2":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v25.1":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v24.3":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v24.1":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v23.2":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0},"v23.1":{"href":"/docs/molt/migration-approach-phased-bulk-load","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T17:56:18.747Z","originalFileLocation":"docs/molt/migration-approach-phased-bulk-load.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 Bulk Load Migration - 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-bulk-load\">\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+Bulk+Load+Migration\u0026amp;title=Phased+Bulk+Load+Migration\u0026amp;theme=4aeed7318cb28bd50868adb3\u0026amp;signature=9fdbc6117792c49579e0710dba38d80c1d078a3015fd6fc092d05d942b52b804\">\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 Bulk Load Migration - CockroachDB\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cockroachlabs.mintlify.site/_mintlify/api/og/v2?division=Phased+Bulk+Load+Migration\u0026amp;title=Phased+Bulk+Load+Migration\u0026amp;theme=4aeed7318cb28bd50868adb3\u0026amp;signature=9fdbc6117792c49579e0710dba38d80c1d078a3015fd6fc092d05d942b52b804\">\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-bulk-load\">\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-bulk-load.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-bulk-load#webpage\",\"url\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-bulk-load\",\"name\":\"Phased Bulk Load Migration\",\"dateModified\":\"2026-11-12T17:56:18.747Z\",\"isPartOf\":{\"@id\":\"https://docs.cockroachlabs.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-bulk-load#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-bulk-load#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 Bulk Load Migration\",\"item\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-bulk-load\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-bulk-load#article\",\"headline\":\"Phased Bulk Load Migration\",\"name\":\"Phased Bulk Load Migration\",\"url\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-bulk-load\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cockroachlabs.com/docs/molt/migration-approach-phased-bulk-load#webpage\"},\"dateModified\":\"2026-11-12T17:56:18.747Z\",\"publisher\":{\"@id\":\"https://docs.cockroachlabs.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cockroachlabs.com#website\"}}]}\u003c/script>","agentPointerHref":"/docs/molt/migration-approach-phased-bulk-load.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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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","description":null,"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","description":null,"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","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","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 Bulk Load Migration - CockroachDB","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-8gCTkA22.js","lightbox-handle-r17bVUz3.js"]}