Upgrade database engine version for FalkorDB deployments
Move an existing deployment to a newer FalkorDB version, addon release, or both.
A deployment runs the FalkorDB version it was created with, or last upgraded
to. Upgrading FalkorDB Enterprise with install.sh
makes newer versions available, but it doesn’t change any existing
deployment: each one stays on its version until you upgrade it as described
here.An upgrade can change two things, separately or together:
FalkorDB version (spec.version, for example 4.22.2): the database
engine the pods run. The versions on offer are the ones in your
installation’s version catalog, listed by
GET /api/system/falkordb-versions.
Addon component definition (spec.componentDefinition, for example
falkordb-4-1.7.13): the FalkorDB addon release that defines how
KubeBlocks runs the pods. See Upgrade the addon.
Upgrade through the Admin UI, CLI, or API only. Don’t edit
serviceVersion or componentDef on the KubeBlocks Cluster resource with
kubectl. That skips the checks below: the version catalog, the downgrade
guard, and the matching shard and Sentinel component definitions of sharded
and replicated deployments.
Take a backup and confirm it restores. See Backups.
FalkorDB upgrades are one-way: a newer version can write data that older
versions can’t load. For example, FalkorDB 4.22.0 writes RDB encoding v20,
which earlier releases can’t read.
The deployment must not be in a Failed state. Fix it first.
An upgrade recreates every pod, one at a time. Settings made with raw
redis-cli CONFIG SET are lost; see
Parameters & resources.
Check that every data node has a persistent volume:
kubectl get pods -n <namespace> -l app.kubernetes.io/instance=<deployment> \ -o custom-columns='POD:.metadata.name,COMPONENT:.metadata.labels.apps\.kubeblocks\.io/component-name,DATA-CLAIM:.spec.volumes[?(@.name=="data")].persistentVolumeClaim.claimName'
Every pod whose component isn’t falkordb-sent must list a claim, including
every shard’s replicas. Sentinel claims don’t count: Sentinels get a volume
even when the data nodes don’t. A data pod that shows <none> runs on
pod-local storage: an upgrade recreates it empty and its data is lost. That
is the case for any deployment created without storage (spec.nodes.storage
left out), and for sharded deployments created with the Admin UI wizard
before 1.0.0-beta.4, which ignored the storage settings. Move the data to a new
deployment with persistent volumes first, as the 1.0.0-beta.4 Fixed
notes in the changelog describe.
Under Target version, choose the FalkorDB version. Only versions
newer than the current one are listed, and the newest is selected.
Under Target component definition version, choose the addon
release. Only releases newer than the current one are listed, and the
newest is selected.
Select Confirm Upgrade.
The Upgrade button shows only when the catalog has a newer version or
addon release than the deployment runs, and you have permission to update
deployments. A field is shown only when there is something newer to move to. The
dialog warns that the deployment restarts pod by pod and that brief
downtime may occur.
Send either field alone to change only that. componentDefinition takes
the data nodes’ name (falkordb-4-…) for every topology; the Admin Server
sets the shard (falkordb-cluster-4-…) and Sentinel (falkordb-sent-4-…)
definitions to match. See Deployments API.POST /api/clusters/<name>/upgrade with
{ "version": "…", "componentDefinition": "…" } still works but is
deprecated. Use the PATCH above.
The Admin Server refuses an upgrade when:
the version or component definition isn’t in the installation’s catalog;
the deployment is in a Failed state;
the version is older than the one the deployment runs, prereleases included
(4.22.0-rc1 is older than 4.22.0);
it can’t tell which version the deployment runs, because then it can’t rule
out a downgrade.
The request fails with 400 or 422 and says why. An unknown deployment
returns 404.
Confirm what each pod actually runs. MODULE LIST reports the graph module’s
version as one number: 42202 is 4.22.2.
kubectl exec -n <namespace> <pod> -c falkordb -- sh -c \ 'redis-cli -a "$REDIS_DEFAULT_PASSWORD" --no-auth-warning MODULE LIST'
For a sharded deployment, use the falkordb-cluster container name instead
of falkordb. A TLS-enabled deployment refuses plain connections, so add
--tls --cacert /etc/pki/tls/ca.crt to the redis-cli command. Then check your data and,
in the Admin UI, the deployment’s Pods, Operations, and Events.
There is no downgrade. Requesting an older FalkorDB version than a deployment
runs is refused, because the older version may not be able to read the data
the newer one wrote, and its pods would fail to start. To go back, restore a
backup taken before the upgrade into a deployment on the older version.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FalkorDB Docs","description":"Official FalkorDB documentation — the high-performance graph database for GraphRAG, Cypher queries, and knowledge graphs powering accurate GenAI applications.","colors":{"primary":"#FF8101","light":"#FDE900","dark":"#FF8101"},"logo":{"light":"https://mintcdn.com/falkordb-core/UsHkXui7FITcReVh/images/falkordb-logo-color.svg?fit=max\u0026auto=format\u0026n=UsHkXui7FITcReVh\u0026q=85\u0026s=d6cd14615384aaf1873f14dcebd7da7f","dark":"https://mintcdn.com/falkordb-core/4RKo-4HTPunDsB0h/images/falkordb-logo.svg?fit=max\u0026auto=format\u0026n=4RKo-4HTPunDsB0h\u0026q=85\u0026s=9fd7d3e195a0bf8907a119804e3f0694","href":"https://www.falkordb.com"},"favicon":"https://mintcdn.com/falkordb-core/4RKo-4HTPunDsB0h/images/favicon.ico?fit=max\u0026auto=format\u0026n=4RKo-4HTPunDsB0h\u0026q=85\u0026s=01ae535e76349bd2047c3da2475b1356","appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://github.com/FalkorDB/FalkorDB","label":"Github"},{"href":"https://support.falkordb.com","label":"Support"},{"href":"https://discord.com/invite/6M4QwDXn2w","label":"Discord"}],"primary":{"type":"button","label":"Try FalkorDB Cloud","href":"https://app.falkordb.cloud"}},"footer":{"socials":{"github":"https://github.com/FalkorDB/FalkorDB","x":"https://x.com/FalkorDB","linkedin":"https://www.linkedin.com/company/falkordb","discord":"https://discord.com/invite/6M4QwDXn2w","youtube":"https://www.youtube.com/@falkordb","reddit":"https://www.reddit.com/r/falkordb"}},"seo":{"metatags":{"og:image":"https://docs.falkordb.com/images/falkor-logo.png","og:image:alt":"FalkorDB — the high-performance graph database for GraphRAG and GenAI","og:locale":"en_US","twitter:image":"https://docs.falkordb.com/images/falkor-logo.png","twitter:image:alt":"FalkorDB — the high-performance graph database for GraphRAG and GenAI","twitter:card":"summary_large_image","twitter:site":"@FalkorDB","twitter:creator":"@FalkorDB","author":"FalkorDB","publisher":"FalkorDB","application-name":"FalkorDB Docs","robots":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1","googlebot":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1","keywords":"FalkorDB, graph database, GraphRAG, knowledge graph, Cypher, OpenCypher, vector search, GenAI, RAG, RedisGraph, RedisGraph alternative, RedisGraph successor, RedisGraph migration, RedisGraph end of life, sparse matrix, linear algebra"},"organization":{"id":"https://www.falkordb.com/#organization","name":"FalkorDB","legalName":"FalkorDB Inc.","url":"https://www.falkordb.com","logo":"https://docs.falkordb.com/images/falkor-logo.png","sameAs":["https://github.com/FalkorDB/FalkorDB","https://x.com/FalkorDB","https://www.linkedin.com/company/falkordb","https://discord.com/invite/6M4QwDXn2w","https://www.youtube.com/@falkordb","https://www.reddit.com/r/falkordb/"]}},"integrations":{"gtm":{"tagId":"GTM-MBWB627H"}},"contextual":{"options":["copy","view","assistant","chatgpt","claude","perplexity","mcp","add-mcp","cursor","vscode","download-spec"],"display":"header"},"markdown":{"instructions":["FalkorDB is a graph database that speaks the Redis protocol. Queries are issued as OpenCypher through the GRAPH.QUERY and GRAPH.RO_QUERY commands, not over Bolt or a SQL connection.","FalkorDB implements a subset of OpenCypher with proprietary extensions. Do not assume Neo4j-only syntax or procedures are available — check /cypher/cypher-support and /cypher/known-limitations before using a clause.","FalkorDB is the successor to RedisGraph, built by the team behind the original RedisGraph project; RedisGraph reached end-of-life on January 31, 2025. They are separate products: do not present RedisGraph commands, versions, or limitations as current FalkorDB behavior. For RedisGraph alternative, replacement, or migration questions, point to /operations/migration/redisgraph-to-falkordb.","Use the official clients listed in /getting-started/clients rather than generic Redis or Neo4j drivers, and prefer the language the user is already working in.","Configuration parameters are set with GRAPH.CONFIG SET or at startup; cite the exact parameter name from /getting-started/configuration rather than inventing one.","This site covers four products: FalkorDB (core), FalkorDB Cloud, FalkorDB Enterprise, and the GraphRAG SDK. Name which one an answer applies to, since setup and operations differ."]},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"falkordb-core","hasAudioNarration":false,"actualSubdomain":"falkordb-core","customDomains":["docs.falkordb.com"],"gitSource":{"type":"github","owner":"falkordb","repo":"docs","deployBranch":"docs-site","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aeca347802fe9fbb7663170","collectionId":"541f4f69-226e-49c2-b733-9f3ea8b087e5","liveDeploymentHistoryId":"6aeca347802fe9fbb7663170","schemaVersion":"v3"},"feedback":{"edits":true,"issues":true,"thumbs":true},"entitlements":{},"buildId":"6aed546257824d7561e42f5b","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"FalkorDB Cloud","count":227},{"language":"default","tag":"API Reference","count":209},{"language":"default","tag":"Documentation","count":196},{"language":"default","tag":"FalkorDB Enterprise","count":191},{"language":"default","tag":"FalkorDB","count":171},{"language":"default","tag":"API reference","count":131},{"language":"default","tag":"Admin Server API","count":128},{"language":"default","tag":"Enterprise BYOA","count":55},{"language":"default","tag":"Enterprise","count":55},{"language":"default","tag":"Browser","count":44}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#sidebar-content .sidebar-group{margin-top:0.5rem}#sidebar-content .sidebar-group:first-child{margin-top:0}"}],"page":{"pagePath":"enterprise/upgrades/falkordb-version","slug":"/enterprise/upgrades/falkordb-version","pageMetadata":{"title":"Upgrade database engine version for FalkorDB deployments","sidebarTitle":"Upgrade FalkorDB version","description":"Move an existing deployment to a newer FalkorDB version, addon release, or both.","icon":"code-branch","href":"/enterprise/upgrades/falkordb-version"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Move an existing deployment to a newer FalkorDB version, addon release, or both.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tab,Tabs,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A deployment runs the FalkorDB version it was created with, or last upgraded\nto. `,_jsx(_components.a,{href:`/enterprise/upgrades/enterprise`,children:`Upgrading FalkorDB Enterprise`}),` with `,_jsx(_components.code,{children:`install.sh`}),`\nmakes newer versions available, but it doesn’t change any existing\ndeployment: each one stays on its version until you upgrade it as described\nhere.`]}),`\n`,_jsx(_components.p,{children:`An upgrade can change two things, separately or together:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`FalkorDB version`}),` (`,_jsx(_components.code,{children:`spec.version`}),`, for example `,_jsx(_components.code,{children:`4.22.2`}),`): the database\nengine the pods run. The versions on offer are the ones in your\ninstallation’s version catalog, listed by\n`,_jsx(_components.code,{children:`GET /api/system/falkordb-versions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Addon component definition`}),` (`,_jsx(_components.code,{children:`spec.componentDefinition`}),`, for example\n`,_jsx(_components.code,{children:`falkordb-4-1.7.13`}),`): the FalkorDB addon release that defines how\nKubeBlocks runs the pods. See `,_jsx(_components.a,{href:`/enterprise/upgrades/addon`,children:`Upgrade the addon`}),`.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Upgrade through the Admin UI, CLI, or API only. Don’t edit\n`,_jsx(_components.code,{children:`serviceVersion`}),` or `,_jsx(_components.code,{children:`componentDef`}),` on the KubeBlocks `,_jsx(_components.code,{children:`Cluster`}),` resource with\n`,_jsx(_components.code,{children:`kubectl`}),`. That skips the checks below: the version catalog, the downgrade\nguard, and the matching shard and Sentinel component definitions of sharded\nand replicated deployments.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Take a backup and confirm it restores. See `,_jsx(_components.a,{href:`/enterprise/operations/backups`,children:`Backups`}),`.\nFalkorDB upgrades are one-way: a newer version can write data that older\nversions can’t load. For example, FalkorDB `,_jsx(_components.code,{children:`4.22.0`}),` writes RDB encoding v20,\nwhich earlier releases can’t read.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`The deployment must not be in a `,_jsx(_components.code,{children:`Failed`}),` state. Fix it first.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`An upgrade recreates every pod, one at a time. Settings made with raw\n`,_jsx(_components.code,{children:`redis-cli CONFIG SET`}),` are lost; see\n`,_jsx(_components.a,{href:`/enterprise/operations/parameters#settings-made-with-config-set`,children:`Parameters \u0026 resources`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Check that every data node has a persistent volume:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` get`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pods`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`namespac`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -l`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` app.kubernetes.io/instance=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`deploymen`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`t`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -o`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` custom-columns='POD:.metadata.name,COMPONENT:.metadata.labels.apps\\\\.kubeblocks\\\\.io/component-name,DATA-CLAIM:.spec.volumes[?(@.name==\"data\")].persistentVolumeClaim.claimName'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Every pod whose component isn’t `,_jsx(_components.code,{children:`falkordb-sent`}),` must list a claim, including\nevery shard’s replicas. Sentinel claims don’t count: Sentinels get a volume\neven when the data nodes don’t. A data pod that shows `,_jsx(_components.code,{children:`\u003cnone>`}),` runs on\npod-local storage: an upgrade recreates it empty and its data is lost. That\nis the case for any deployment created without storage (`,_jsx(_components.code,{children:`spec.nodes.storage`}),`\nleft out), and for sharded deployments created with the Admin UI wizard\nbefore 1.0.0-beta.4, which ignored the storage settings. Move the data to a new\ndeployment with persistent volumes first, as the 1.0.0-beta.4 `,_jsx(_components.strong,{children:`Fixed`}),`\nnotes in the `,_jsx(_components.a,{href:`/enterprise/upgrades/changelog`,children:`changelog`}),` describe.`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`upgrade-a-deployment`,children:`Upgrade a deployment`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Admin UI`,id:`admin-ui`,children:[_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Deployments`}),`, then the deployment.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Upgrade`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Target version`}),`, choose the FalkorDB version. Only versions\nnewer than the current one are listed, and the newest is selected.`]}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Target component definition version`}),`, choose the addon\nrelease. Only releases newer than the current one are listed, and the\nnewest is selected.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Confirm Upgrade`}),`.`]}),`\n`]}),_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Upgrade`}),` button shows only when the catalog has a newer version or\naddon release than the deployment runs, and you have permission to update\ndeployments. A field is shown only when there is something newer to move to. The\ndialog warns that the deployment restarts pod by pod and that brief\ndowntime may occur.`]})]}),_jsxs(Tab,{title:`CLI`,id:`cli`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`falkordb-admin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` deployments`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upgrade`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`nam`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --namespace`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`namespac`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --version`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 4.22.2`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --component-definition`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` falkordb-4-1.7.13`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Pass either flag alone to change only that. Add `,_jsx(_components.code,{children:`--dry-run`}),` to see the\nchange without making it.`]})]}),_jsxs(Tab,{title:`API`,id:`api`,children:[_jsxs(_components.p,{children:[`Read the deployment’s `,_jsx(_components.code,{children:`metadata.generation`}),`, then patch it:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -b`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cookies.txt`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"http://localhost:3000/api/clusters/\u003cname>?namespace=\u003cnamespace>\u0026schemaVersion=1\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '.metadata.generation'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -b`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cookies.txt`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PATCH`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"http://localhost:3000/api/clusters/\u003cname>?namespace=\u003cnamespace>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/merge-patch+json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'If-Match: \"\u003cmetadata.generation>\"'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"schemaVersion\": 1, \"spec\": { \"version\": \"4.22.2\", \"componentDefinition\": \"falkordb-4-1.7.13\" } }'`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Send either field alone to change only that. `,_jsx(_components.code,{children:`componentDefinition`}),` takes\nthe data nodes’ name (`,_jsx(_components.code,{children:`falkordb-4-…`}),`) for every topology; the Admin Server\nsets the shard (`,_jsx(_components.code,{children:`falkordb-cluster-4-…`}),`) and Sentinel (`,_jsx(_components.code,{children:`falkordb-sent-4-…`}),`)\ndefinitions to match. See `,_jsx(_components.a,{href:`/enterprise/api-reference/deployments`,children:`Deployments API`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST /api/clusters/\u003cname>/upgrade`}),` with\n`,_jsx(_components.code,{children:`{ \"version\": \"…\", \"componentDefinition\": \"…\" }`}),` still works but is\ndeprecated. Use the `,_jsx(_components.code,{children:`PATCH`}),` above.`]})]})]}),`\n`,_jsx(_components.p,{children:`The Admin Server refuses an upgrade when:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`the version or component definition isn’t in the installation’s catalog;`}),`\n`,_jsxs(_components.li,{children:[`the deployment is in a `,_jsx(_components.code,{children:`Failed`}),` state;`]}),`\n`,_jsxs(_components.li,{children:[`the version is older than the one the deployment runs, prereleases included\n(`,_jsx(_components.code,{children:`4.22.0-rc1`}),` is older than `,_jsx(_components.code,{children:`4.22.0`}),`);`]}),`\n`,_jsx(_components.li,{children:`it can’t tell which version the deployment runs, because then it can’t rule\nout a downgrade.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The request fails with `,_jsx(_components.code,{children:`400`}),` or `,_jsx(_components.code,{children:`422`}),` and says why. An unknown deployment\nreturns `,_jsx(_components.code,{children:`404`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`validate`,children:`Validate`}),`\n`,_jsxs(_components.p,{children:[`The deployment returns to `,_jsx(_components.code,{children:`Running`}),` once every pod runs the new version.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -b`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cookies.txt`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"http://localhost:3000/api/clusters/\u003cname>?namespace=\u003cnamespace>\u0026schemaVersion=1\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{version: .spec.version, componentDefinition: .spec.componentDefinition, state: .status.state}'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` get`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` components.apps.kubeblocks.io`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`namespac`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -l`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` app.kubernetes.io/instance=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`nam`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -o`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` custom-columns=NAME:.metadata.name,VERSION:.spec.serviceVersion,DEFINITION:.spec.compDef,PHASE:.status.phase`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Confirm what each pod actually runs. `,_jsx(_components.code,{children:`MODULE LIST`}),` reports the graph module’s\nversion as one number: `,_jsx(_components.code,{children:`42202`}),` is `,_jsx(_components.code,{children:`4.22.2`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` exec`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`namespac`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`po`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` falkordb`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sh`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'redis-cli -a \"$REDIS_DEFAULT_PASSWORD\" --no-auth-warning MODULE LIST'`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For a sharded deployment, use the `,_jsx(_components.code,{children:`falkordb-cluster`}),` container name instead\nof `,_jsx(_components.code,{children:`falkordb`}),`. A TLS-enabled deployment refuses plain connections, so add\n`,_jsx(_components.code,{children:`--tls --cacert /etc/pki/tls/ca.crt`}),` to the `,_jsx(_components.code,{children:`redis-cli`}),` command. Then check your data and,\nin the Admin UI, the deployment’s `,_jsx(_components.strong,{children:`Pods`}),`, `,_jsx(_components.strong,{children:`Operations`}),`, and `,_jsx(_components.strong,{children:`Events`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`rolling-back`,children:`Rolling back`}),`\n`,_jsx(_components.p,{children:`There is no downgrade. Requesting an older FalkorDB version than a deployment\nruns is refused, because the older version may not be able to read the data\nthe newer one wrote, and its pods would fail to start. To go back, restore a\nbackup taken before the upgrade into a deployment on the older version.`})]})}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":{"config":{},"pageMetadata":{"title":"Upgrade database engine version for FalkorDB deployments","sidebarTitle":"Upgrade FalkorDB version","description":"Move an existing deployment to a newer FalkorDB version, addon release, or both.","icon":"code-branch","href":"/enterprise/upgrades/falkordb-version"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Upgrade a deployment","slug":"upgrade-a-deployment","depth":2,"children":[]},{"title":"Validate","slug":"validate","depth":2,"children":[]},{"title":"Rolling back","slug":"rolling-back","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"falkordb-core","siteName":"FalkorDB Docs","title":"Upgrade database engine version for FalkorDB deployments - FalkorDB Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T13:09:49.937Z","originalFileLocation":"enterprise/upgrades/falkordb-version.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=\"dark\"}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=\"description\" content=\"Move an existing deployment to a newer FalkorDB version, addon release, or both.\">\u003cmeta data-mint-head name=\"keywords\" content=\"FalkorDB, graph database, GraphRAG, knowledge graph, Cypher, OpenCypher, vector search, GenAI, RAG, RedisGraph, RedisGraph alternative, RedisGraph successor, RedisGraph migration, RedisGraph end of life, sparse matrix, linear algebra\">\u003cmeta data-mint-head name=\"application-name\" content=\"FalkorDB Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/falkordb-core/mDs9ei6IUGTBvS7e/_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/falkordb-core/mDs9ei6IUGTBvS7e/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/falkordb-core/mDs9ei6IUGTBvS7e/_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/falkordb-core/mDs9ei6IUGTBvS7e/_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/falkordb-core/mDs9ei6IUGTBvS7e/_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/falkordb-core/mDs9ei6IUGTBvS7e/_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/falkordb-core/mDs9ei6IUGTBvS7e/_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/falkordb-core/mDs9ei6IUGTBvS7e/_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/falkordb-core/mDs9ei6IUGTBvS7e/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upgrade database engine version for FalkorDB deployments - FalkorDB Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Move an existing deployment to a newer FalkorDB version, addon release, or both.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FalkorDB Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.falkordb.com/images/falkor-logo.png\">\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=\"Upgrade database engine version for FalkorDB deployments - FalkorDB Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Move an existing deployment to a newer FalkorDB version, addon release, or both.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.falkordb.com/images/falkor-logo.png\">\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/falkordb-core/mDs9ei6IUGTBvS7e/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FalkorDB Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF8101\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"FalkorDB — the high-performance graph database for GraphRAG and GenAI\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"FalkorDB — the high-performance graph database for GraphRAG and GenAI\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@FalkorDB\">\u003cmeta data-mint-head name=\"author\" content=\"FalkorDB\">\u003cmeta data-mint-head name=\"publisher\" content=\"FalkorDB\">\u003cmeta data-mint-head name=\"application-name\" content=\"FalkorDB Docs\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/enterprise/upgrades/falkordb-version.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.falkordb.com/#organization\",\"name\":\"FalkorDB\",\"legalName\":\"FalkorDB Inc.\",\"url\":\"https://www.falkordb.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.falkordb.com/images/falkor-logo.png\"},\"sameAs\":[\"https://github.com/FalkorDB/FalkorDB\",\"https://x.com/FalkorDB\",\"https://www.linkedin.com/company/falkordb\",\"https://discord.com/invite/6M4QwDXn2w\",\"https://www.youtube.com/@falkordb\",\"https://www.reddit.com/r/falkordb/\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.falkordb.com#website\",\"name\":\"FalkorDB Docs\",\"url\":\"https://docs.falkordb.com\",\"publisher\":{\"@id\":\"https://www.falkordb.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version#webpage\",\"url\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version\",\"name\":\"Upgrade database engine version for FalkorDB deployments\",\"description\":\"Move an existing deployment to a newer FalkorDB version, addon release, or both.\",\"dateModified\":\"2026-10-21T13:09:49.937Z\",\"isPartOf\":{\"@id\":\"https://docs.falkordb.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Upgrade and uninstall\",\"item\":\"https://docs.falkordb.com/enterprise/upgrades/enterprise\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upgrade database engine version for FalkorDB deployments\",\"item\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version#article\",\"headline\":\"Upgrade database engine version for FalkorDB deployments\",\"name\":\"Upgrade database engine version for FalkorDB deployments\",\"description\":\"Move an existing deployment to a newer FalkorDB version, addon release, or both.\",\"url\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version\",\"mainEntityOfPage\":{\"@id\":\"https://docs.falkordb.com/enterprise/upgrades/falkordb-version#webpage\"},\"image\":\"https://docs.falkordb.com/images/falkor-logo.png\",\"dateModified\":\"2026-10-21T13:09:49.937Z\",\"publisher\":{\"@id\":\"https://www.falkordb.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.falkordb.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FalkorDB Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FalkorDB Docs","nav":{"global":null,"products":[{"product":"FalkorDB","icon":"database","description":"The open source graph database, Cypher language, and tooling.","pages":[{"title":"FalkorDB","href":""}]},{"product":"FalkorDB Cloud","icon":"cloud","description":"The managed FalkorDB service and its provisioning API.","pages":[{"title":"FalkorDB Cloud","href":"/cloud"}]},{"product":"FalkorDB Enterprise","icon":"building","description":"Self-managed FalkorDB on your own Kubernetes clusters.","tabs":[{"tab":"Documentation","groups":[{"group":"Get started","pages":[{"title":"FalkorDB Enterprise documentation: self-managed graph database on Kubernetes","sidebarTitle":"Home","mode":"wide","icon":"house","href":"/enterprise"},{"title":"FalkorDB Enterprise platform overview and architecture","sidebarTitle":"Overview","icon":"layer-group","href":"/enterprise/get-started/overview"},{"title":"Prerequisites and system requirements for FalkorDB Enterprise","sidebarTitle":"Requirements","icon":"list-check","href":"/enterprise/get-started/requirements"},{"title":"Use the FalkorDB Enterprise Portal","sidebarTitle":"Enterprise Portal","icon":"id-card","href":"/enterprise/get-started/enterprise-portal"},{"title":"Quickstart: install FalkorDB Enterprise on Kubernetes","sidebarTitle":"Quickstart","icon":"rocket","href":"/enterprise/get-started/quickstart"}]},{"group":"Install","pages":[{"title":"Production installation guide for FalkorDB Enterprise","sidebarTitle":"Production install","icon":"shield-check","href":"/enterprise/deployment/production"},{"title":"Deploy FalkorDB Enterprise with private registries and air-gapped mirrors","sidebarTitle":"Private registries","icon":"box","href":"/enterprise/deployment/private-images"},{"title":"Configure external DNS access for FalkorDB deployments","sidebarTitle":"External DNS access","icon":"globe","href":"/enterprise/deployment/external-dns"},{"title":"Set up network infrastructure for FalkorDB access from your VPC","sidebarTitle":"VPC access","icon":"route","href":"/enterprise/deployment/vpc-access"},{"group":"Platform guides","icon":"server","pages":[{"title":"Deploy FalkorDB Enterprise on Azure Kubernetes Service (AKS)","sidebarTitle":"Azure (AKS)","icon":"microsoft","href":"/enterprise/deployment/aks"},{"title":"Private AKS deployment with internal load balancers and TLS","sidebarTitle":"Private AKS","icon":"lock","href":"/enterprise/deployment/aks-internal"},{"title":"Deploy FalkorDB Enterprise on Amazon Elastic Kubernetes Service (EKS)","sidebarTitle":"AWS (EKS)","icon":"aws","href":"/enterprise/deployment/eks"},{"title":"Deploy FalkorDB Enterprise on Google Kubernetes Engine (GKE)","sidebarTitle":"Google (GKE)","icon":"google","href":"/enterprise/deployment/gke"},{"title":"Deploy FalkorDB Enterprise on K3s","sidebarTitle":"K3s","icon":"cube","href":"/enterprise/deployment/k3s"},{"title":"Deploy FalkorDB Enterprise on Red Hat OpenShift with SCC and ODF","sidebarTitle":"OpenShift","icon":"red-hat","href":"/enterprise/deployment/openshift"},{"title":"Deploy FalkorDB Enterprise on Rancher (RKE2 and K3s)","sidebarTitle":"Rancher","icon":"cow","href":"/enterprise/deployment/rancher"}]}]},{"group":"Authentication","pages":[{"title":"Configure Google OAuth and Google Workspace group mapping in FalkorDB Enterprise","sidebarTitle":"Google OAuth","icon":"google","href":"/enterprise/authentication/google-oauth"},{"title":"Configure Microsoft Entra ID (Azure AD) OAuth and role mapping","sidebarTitle":"Microsoft Entra ID","icon":"microsoft","href":"/enterprise/authentication/azure-ad-oauth"}]},{"group":"Deploy databases","pages":[{"title":"Kubernetes networking and service connectivity for FalkorDB deployments","sidebarTitle":"Networking","icon":"network-wired","href":"/enterprise/databases/networking"},{"title":"TLS encryption for FalkorDB deployments","sidebarTitle":"TLS","icon":"lock","href":"/enterprise/databases/tls"},{"title":"Deploy a standalone FalkorDB instance on Kubernetes","sidebarTitle":"Standalone","icon":"database","href":"/enterprise/databases/standalone"},{"title":"Deploy a replicated multi-node FalkorDB instance on Kubernetes","sidebarTitle":"Replicated","icon":"copy","href":"/enterprise/databases/replicated"},{"title":"Deploy high-availability FalkorDB with Redis Sentinel on Kubernetes","sidebarTitle":"Sentinel","icon":"shield","href":"/enterprise/databases/sentinel"},{"title":"Deploy a sharded distributed FalkorDB deployment on Kubernetes","sidebarTitle":"Sharded","icon":"grid-2","href":"/enterprise/databases/sharded"},{"title":"Deploy FalkorDB from raw KubeBlocks YAML manifests","sidebarTitle":"Deploy from YAML","icon":"file-code","href":"/enterprise/databases/yaml"}]},{"group":"Operations","pages":[{"title":"Scale FalkorDB deployments horizontally and vertically on Kubernetes","sidebarTitle":"Scaling","icon":"arrow-up-right-dots","href":"/enterprise/operations/scaling"},{"title":"Reduce FalkorDB memory by offloading idle graphs to disk","sidebarTitle":"Graph offloading","icon":"box-archive","href":"/enterprise/operations/graph-offloading"},{"title":"Configure FalkorDB engine parameters and Kubernetes pod resources","sidebarTitle":"Parameters \u0026 resources","icon":"gear","href":"/enterprise/operations/parameters"},{"title":"Configure automated backups and schedules in FalkorDB Enterprise","sidebarTitle":"Backups \u0026 schedules","icon":"floppy-disk","href":"/enterprise/operations/backups"},{"title":"Restoring a FalkorDB backup over an existing deployment","sidebarTitle":"Restore in place","icon":"clock-rotate-left","href":"/enterprise/operations/restore-same-database"},{"title":"Restore a FalkorDB backup to a new Kubernetes deployment","sidebarTitle":"Restore to new","icon":"clone","href":"/enterprise/operations/restore-new-database"},{"title":"Restore a FalkorDB deployment to a point in time","sidebarTitle":"Point-in-time restore","icon":"clock-rotate-left","href":"/enterprise/operations/restore-point-in-time"},{"title":"Export and import RDB files","sidebarTitle":"RDB export and import","icon":"right-left","href":"/enterprise/operations/rdb-export-import"},{"title":"Run Cypher queries from the Admin UI","sidebarTitle":"Query console","icon":"terminal","href":"/enterprise/operations/query-console"},{"title":"Recover FalkorDB deployments in another region","sidebarTitle":"Disaster recovery","icon":"life-ring","href":"/enterprise/operations/disaster-recovery"},{"title":"Monitor FalkorDB with Prometheus, Grafana, and Admin UI metrics","sidebarTitle":"Monitoring \u0026 Grafana","icon":"chart-line","href":"/enterprise/operations/monitoring"},{"title":"Track Kubernetes infrastructure spend with Cost Showback","sidebarTitle":"Cost Showback","icon":"dollar-sign","href":"/enterprise/operations/cost-showback"},{"title":"Reset FalkorDB Enterprise admin password via Kubernetes secrets","sidebarTitle":"Reset admin password","icon":"key","href":"/enterprise/operations/reset-admin-password"}]},{"group":"Licensing","pages":[{"title":"FalkorDB Enterprise licensing, quotas, and cluster activation","sidebarTitle":"Licensing","icon":"key","href":"/enterprise/licensing"}]},{"group":"Security","pages":[{"title":"FalkorDB Enterprise security architecture, hardening, and RBAC","sidebarTitle":"Security","icon":"shield","href":"/enterprise/security"}]},{"group":"Releases","pages":[{"title":"What's new in FalkorDB Enterprise 1.0: security, hardening, and verification","sidebarTitle":"1.0","icon":"sparkles","href":"/enterprise/releases/1-0"}]},{"group":"Upgrade and uninstall","pages":[{"title":"Upgrade FalkorDB Enterprise control plane and Helm release","sidebarTitle":"Upgrade Enterprise","icon":"arrow-up","href":"/enterprise/upgrades/enterprise"},{"title":"FalkorDB Enterprise release notes and changelog","sidebarTitle":"Changelog","icon":"list","href":"/enterprise/upgrades/changelog"},{"group":"Migration guides","pages":[{"title":"Migration guide: upgrade FalkorDB Enterprise 0.3 to 0.4","sidebarTitle":"0.3 to 0.4","icon":"right-left","href":"/enterprise/upgrades/migrations/0.3-to-0.4"},{"title":"Migration guide: upgrade FalkorDB Enterprise 0.3 directly to 1.0","sidebarTitle":"0.3 to 1.0","icon":"right-left","href":"/enterprise/upgrades/migrations/0.3-to-1.0"}]},{"title":"Move FalkorDB deployments to a newer addon release","sidebarTitle":"Upgrade the addon","icon":"puzzle-piece","href":"/enterprise/upgrades/addon"},{"title":"Upgrade KubeBlocks operator for FalkorDB Enterprise","sidebarTitle":"Upgrade KubeBlocks","description":"Upgrade the KubeBlocks platform components used by FalkorDB Enterprise.","icon":"cubes","href":"/enterprise/upgrades/kubeblocks"},{"title":"Upgrade database engine version for FalkorDB deployments","sidebarTitle":"Upgrade FalkorDB version","icon":"code-branch","href":"/enterprise/upgrades/falkordb-version"},{"title":"Uninstall FalkorDB Enterprise and clean up Kubernetes resources","sidebarTitle":"Uninstall","description":"Remove FalkorDB Enterprise and, optionally, the platform components it installed.","icon":"trash","href":"/enterprise/upgrades/uninstall"}]},{"group":"Troubleshooting","pages":[{"title":"Troubleshoot FalkorDB deployments, pods, and KubeBlocks","sidebarTitle":"Troubleshoot deployments","icon":"stethoscope","href":"/enterprise/troubleshooting/deployments"},{"title":"Collect FalkorDB diagnostics and support packages","sidebarTitle":"Support packages","icon":"life-ring","href":"/enterprise/troubleshooting/support-package"}]}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/enterprise/reference/helm-values"}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/enterprise/api-reference/introduction"}]}]},{"product":"GraphRAG SDK","icon":"share-nodes","description":"Build knowledge graphs from documents and query them with natural language.","pages":[{"title":"GraphRAG SDK","href":"/graphrag"}]}]},"basePath":"","title":"Upgrade database engine version for FalkorDB deployments - FalkorDB Docs","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}