This guide shows how to dump schemas and table data from a Shared Postgres database, and restore a dump.If you encounter issues, feel free to contact us for help.
Since the Shared Postgres cluster has strict permissions, running pg_dump against your connection string is not possible.
Instead, you can use the resource dump command that runs pg_dump with --no-owner --no-privileges for you.
Dumping the database data extracts a copy of all data, and the database is left unmodified.
The command writes a dump in SQL format to stdout, so you can use it to write to a file like so:
# dump database into /tmp/dump.sqlshuttle resource dump database::shared::postgres > /tmp/dump.sql
If you get errors about request limits or timeouts, reach out to us for support.
You can inspect the file and edit it to your liking.
If you already let your schema migrations run in the new db, you could for instance remove the CREATE TABLE, ALTER TABLE etc, and only keep the table data COPY statements and so on.
Use the following command to get the connection string for the new database:
shuttle resource list --show-secrets
Use psql to run the dump file against it:
psql -d <connection string> -f filename.sql
You might see various errors about tables, rows, or constraints already existing in the new database.
In most cases this is fine, but you can verify that everything looks good by connecting to the database, and testing the app.
psql <connection string>
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Shuttle Docs","description":"The Shuttle platform documentation","colors":{"primary":"#000","light":"#f91","dark":"#f91"},"logo":{"light":"https://mintcdn.com/shuttle/ISqfIZfTiW4muc41/images/logo/light.png?fit=max\u0026auto=format\u0026n=ISqfIZfTiW4muc41\u0026q=85\u0026s=994cd9fbe183a93a076cdf69d48f181b","dark":"https://mintcdn.com/shuttle/ISqfIZfTiW4muc41/images/logo/dark.png?fit=max\u0026auto=format\u0026n=ISqfIZfTiW4muc41\u0026q=85\u0026s=5552086a59dfe5f7821ca8fd8f851ae0","href":"https://www.shuttle.dev/"},"favicon":"https://mintcdn.com/shuttle/ISqfIZfTiW4muc41/favicon.png?fit=max\u0026auto=format\u0026n=ISqfIZfTiW4muc41\u0026q=85\u0026s=7432dd3e823109c0236063ff9d037c8f","background":{"decoration":"windows","color":{"light":"#fcf0d0","dark":"#0b0a00"}},"navbar":{"links":[{"href":"https://docs.shuttle.dev/support/support","label":"Support"}],"primary":{"type":"button","label":"Log In","href":"https://console.shuttle.dev/"}},"footer":{"socials":{"twitter":"https://twitter.com/shuttle_dev","discord":"https://discord.com/invite/shuttle","github":"https://github.com/shuttle-hq/shuttle"}},"integrations":{"posthog":{"apiKey":"phc_cQMQqF5QmcEzXEaVlrhv3yBSNRyaabXYAyiCV7xKHUH","apiHost":"https://eu.posthog.com"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/shuttle-hq/shuttle"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/shuttle"},{"anchor":"Releases and Changelog","icon":"rust","href":"https://github.com/shuttle-hq/shuttle/releases"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"shuttle","hasAudioNarration":false,"actualSubdomain":"shuttle","customDomains":["docs.shuttle.dev"],"gitSource":{"type":"github","owner":"shuttle-hq","repo":"shuttle-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a884c909ed824a42f57a520","collectionId":"920743ba-918a-4f70-af19-6ab38ed26793","schemaVersion":"v2","latestBuiltDeploymentHistoryId":"6a884c909ed824a42f57a520"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a884c909ed824a42f57a520:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Documentation","count":48},{"language":"default","tag":"Examples","count":40},{"language":"default","tag":"Shuttle","count":15},{"language":"default","tag":"Templates and Tutorials","count":12},{"language":"default","tag":"Tutorials","count":9},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"Actix Web","count":5},{"language":"default","tag":"Axum","count":5},{"language":"default","tag":"Guides","count":5}]},"assistantConfig":{},"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"guides/migrate-shared-postgres","slug":"/guides/migrate-shared-postgres","pageMetadata":{"title":"Migrate Postgres Data","description":"Migrate Postgres data to shuttle.dev","icon":"dove","href":"/guides/migrate-shared-postgres"},"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: \"Migrate Postgres data to shuttle.dev\"\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`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This guide shows how to dump schemas and table data from a `,_jsx(_components.a,{href:`/resources/shuttle-shared-db`,children:`Shared Postgres`}),` database, and restore a dump.`]}),`\n`,_jsxs(_components.p,{children:[`If you encounter issues, feel free to `,_jsx(_components.a,{href:`/support/support`,children:`contact us`}),` for help.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.p,{children:[`To run the data upload against the database, you need a Postgres Client.\nIn this guide, we will use `,_jsx(_components.code,{children:`psql`}),`.\nOn Debian/Ubuntu, you can install it with:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` apt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` postgresql-client`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Shuttle Postgres databases run Postgres version 16, so `,_jsx(_components.code,{children:`psql`}),` versions older than 16 might not work.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`dump-database-to-sql-file`,children:`Dump database to SQL file`}),`\n`,_jsxs(_components.p,{children:[`Since the Shared Postgres cluster has strict permissions, running `,_jsx(_components.code,{children:`pg_dump`}),` against your connection string is not possible.\nInstead, you can use the `,_jsx(_components.code,{children:`resource dump`}),` command that runs `,_jsx(_components.code,{children:`pg_dump`}),` with `,_jsx(_components.code,{children:`--no-owner --no-privileges`}),` for you.`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Dumping the database data extracts a copy of all data, and the database is left unmodified.`})}),`\n`,_jsx(_components.p,{children:`The command writes a dump in SQL format to stdout, so you can use it to write to a file like so:`}),`\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:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# dump database into /tmp/dump.sql`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`shuttle`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` resource`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dump`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` database::shared::postgres`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` >`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /tmp/dump.sql`})]}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`If you get errors about request limits or timeouts, reach out to us for support.`})}),`\n`,_jsxs(_components.p,{children:[`You can inspect the file and edit it to your liking.\nIf you already let your schema migrations run in the new db, you could for instance remove the `,_jsx(_components.code,{children:`CREATE TABLE`}),`, `,_jsx(_components.code,{children:`ALTER TABLE`}),` etc, and only keep the table data `,_jsx(_components.code,{children:`COPY`}),` statements and so on.`]}),`\n`,_jsx(Heading,{level:`2`,id:`restore-data-from-a-sql-file`,children:`Restore data from a SQL file`}),`\n`,_jsx(_components.p,{children:`Use the following command to get the connection string for the new database:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`shuttle`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` resource`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` list`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --show-secrets`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Use psql to run the dump file against it:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`psql`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`connection`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` strin`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`g`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` filename.sql`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`You might see various errors about tables, rows, or constraints already existing in the new database.\nIn most cases this is fine, but you can verify that everything looks good by connecting to the database, and testing the app.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`psql`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`connection`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` strin`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`g`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\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":{"config":{},"pageMetadata":{"title":"Migrate Postgres Data","description":"Migrate Postgres data to shuttle.dev","icon":"dove","href":"/guides/migrate-shared-postgres"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Dump database to SQL file","slug":"dump-database-to-sql-file","depth":2,"children":[]},{"title":"Restore data from a SQL file","slug":"restore-data-from-a-sql-file","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"shuttle","siteName":"Shuttle Docs","title":"Migrate Postgres Data - Shuttle Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-10-21T16:02:50.495Z","originalFileLocation":"guides/migrate-shared-postgres.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=\"system\"}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=\"Migrate Postgres data to shuttle.dev\">\u003cmeta data-mint-head name=\"application-name\" content=\"Shuttle Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/shuttle/pxkvy0s1bdM3ua6n/_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/shuttle/pxkvy0s1bdM3ua6n/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/shuttle/pxkvy0s1bdM3ua6n/_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/shuttle/pxkvy0s1bdM3ua6n/_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/shuttle/pxkvy0s1bdM3ua6n/_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/shuttle/pxkvy0s1bdM3ua6n/_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/shuttle/pxkvy0s1bdM3ua6n/_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/shuttle/pxkvy0s1bdM3ua6n/_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/shuttle/pxkvy0s1bdM3ua6n/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Migrate Postgres Data - Shuttle Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Migrate Postgres data to shuttle.dev\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Shuttle Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.shuttle.dev/guides/migrate-shared-postgres\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://shuttle.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=Migrate+Postgres+Data\u0026amp;description=Migrate+Postgres+data+to+shuttle.dev\u0026amp;theme=55f6e6bb3a0fb47bde8f7a19\u0026amp;signature=146100a5730c1a92f65da117b11ea315bb5ff54624d056866d74efc3bba06039\">\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=\"Migrate Postgres Data - Shuttle Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Migrate Postgres data to shuttle.dev\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://shuttle.mintlify.app/_mintlify/api/og/v2?division=Guides\u0026amp;title=Migrate+Postgres+Data\u0026amp;description=Migrate+Postgres+data+to+shuttle.dev\u0026amp;theme=55f6e6bb3a0fb47bde8f7a19\u0026amp;signature=146100a5730c1a92f65da117b11ea315bb5ff54624d056866d74efc3bba06039\">\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/shuttle/pxkvy0s1bdM3ua6n/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Shuttle Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.shuttle.dev/guides/migrate-shared-postgres\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/migrate-shared-postgres.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.shuttle.dev/#organization\",\"name\":\"Shuttle Docs\",\"url\":\"https://docs.shuttle.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/shuttle/ISqfIZfTiW4muc41/images/logo/light.png?fit=max\u0026auto=format\u0026n=ISqfIZfTiW4muc41\u0026q=85\u0026s=994cd9fbe183a93a076cdf69d48f181b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.shuttle.dev#website\",\"name\":\"Shuttle Docs\",\"url\":\"https://docs.shuttle.dev\",\"publisher\":{\"@id\":\"https://docs.shuttle.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres#webpage\",\"url\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres\",\"name\":\"Migrate Postgres Data\",\"description\":\"Migrate Postgres data to shuttle.dev\",\"dateModified\":\"2025-10-21T16:02:50.495Z\",\"isPartOf\":{\"@id\":\"https://docs.shuttle.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.shuttle.dev/guides/cli\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrate Postgres Data\",\"item\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres#article\",\"headline\":\"Migrate Postgres Data\",\"name\":\"Migrate Postgres Data\",\"description\":\"Migrate Postgres data to shuttle.dev\",\"url\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres\",\"mainEntityOfPage\":{\"@id\":\"https://docs.shuttle.dev/guides/migrate-shared-postgres#webpage\"},\"dateModified\":\"2025-10-21T16:02:50.495Z\",\"publisher\":{\"@id\":\"https://docs.shuttle.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.shuttle.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Shuttle Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Shuttle Docs","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/shuttle-hq/shuttle"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/shuttle"},{"anchor":"Releases and Changelog","icon":"rust","href":"https://github.com/shuttle-hq/shuttle/releases"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Getting Started","pages":[{"title":"Introduction to Shuttle","icon":"hand-wave","href":"/welcome/introduction"},{"title":"Installation","icon":"download","href":"/getting-started/installation"},{"title":"Quick Start","icon":"circle-play","href":"/getting-started/quick-start"},{"title":"Migrate to Shuttle","icon":"arrow-right","href":"/migration/guide"},{"title":"Shuttle Shutdown","icon":"face-saluting","href":"/docs/shuttle-shutdown"}]},{"group":"Shuttle","pages":[{"title":"Projects","icon":"cards-blank","href":"/docs/projects"},{"title":"Project configuration","icon":"gear","href":"/docs/project-configuration"},{"title":"Local Run","icon":"screwdriver-wrench","href":"/docs/local-run"},{"title":"Deployment files","icon":"files","href":"/docs/files"},{"title":"Builds","icon":"hammer","href":"/docs/builds"},{"title":"Deployment environment","icon":"box","href":"/docs/deployment-environment"},{"title":"Logs","icon":"list","href":"/docs/logs"},{"title":"Domain names","icon":"globe","href":"/docs/domain-names"},{"group":"Telemetry","icon":"telescope","pages":[{"title":"Overview","icon":"chart-mixed","href":"/docs/telemetry/overview"},{"title":"Getting Started","icon":"rocket","href":"/docs/telemetry/getting-started"},{"title":"Better Stack Integration","icon":"layer-group","href":"/docs/telemetry/betterstack"},{"title":"Custom Metrics Guide","icon":"chart-line","href":"/docs/telemetry/custom-metrics"}]},{"title":"Account","icon":"user","href":"/docs/account"},{"title":"Teams","icon":"users","href":"/docs/teams"},{"title":"Scaling","icon":"arrows-up-down","href":"/docs/scaling"}]},{"group":"Resources","pages":[{"title":"Resources","icon":"boxes-stacked","href":"/resources/resources"},{"title":"Secrets","icon":"user-secret","href":"/resources/shuttle-secrets"},{"group":"Databases","icon":"database","pages":[{"title":"Shuttle Shared Databases","icon":"database","href":"/resources/shuttle-shared-db"},{"title":"AWS RDS","icon":"aws","href":"/resources/shuttle-aws-rds"}]}]},{"group":"Integrations","pages":[{"title":"GitHub Integration","icon":"github","href":"/integrations/github"},{"group":"Databases","icon":"database","pages":[{"title":"Turso","icon":"database","href":"/integrations/shuttle-turso"},{"title":"Qdrant","icon":"database","href":"/integrations/shuttle-qdrant"},{"title":"Apache OpenDAL","icon":"database","href":"/integrations/shuttle-opendal"}]},{"title":"OpenAI","icon":"microchip","href":"/integrations/shuttle-openai"},{"title":"Custom Resources","icon":"toolbox","href":"/integrations/custom-resources"},{"title":"GitHub Actions","icon":"code-branch","href":"/integrations/ci-cd"},{"title":"Shuttle MCP","icon":"sparkles","href":"/integrations/mcp-server"}]},{"group":"Guides","pages":[{"title":"CLI","icon":"code","href":"/guides/cli"},{"title":"Upgrade Shuttle version","description":"How to upgrade to newer Shuttle versions","icon":"code-merge","href":"/guides/upgrade"},{"title":"Migrate Postgres Data","icon":"dove","href":"/guides/migrate-shared-postgres"},{"group":"Platform Update","icon":"layer-group","pages":[{"title":"Overview \u0026 Changelog","description":"In Q4 2024, Shuttle launched a new and improved platform","href":"/platform-update/platform-update"},{"title":"Transfer to the new platform","href":"/platform-update/migration"}]}]},{"group":"Pricing","pages":[{"title":"Plans overview","icon":"circle-dollar","href":"/pricing/overview"},{"title":"Usage \u0026 Billing","icon":"money-check-dollar","href":"/pricing/billing"},{"title":"Scaling \u0026 Limits","icon":"arrows-up-to-line","href":"/pricing/scaling"},{"title":"Upgrading","icon":"circle-arrow-up","href":"/pricing/upgrading"},{"title":"FAQ","icon":"comment-dollar","href":"/pricing/faq"}]},{"group":"Support","pages":[{"title":"Support","icon":"headset","href":"/support/support"},{"title":"Frequently Asked Questions","icon":"comment-question","href":"/support/faq"},{"title":"Troubleshooting","icon":"bug","href":"/support/troubleshooting"}]},{"group":"Community","pages":[{"title":"Get Involved","icon":"hand-holding-hand","href":"/community/get-involved"},{"title":"Contributing","icon":"code-pull-request","href":"/community/contribute"},{"title":"Open Source","icon":"osi","href":"/community/open-source"}]}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/overview"}]},{"tab":"Templates and Tutorials","pages":[{"title":"Templates and Tutorials","href":"/templates/overview"}]},{"tab":"Blog","href":"https://www.shuttle.dev/blog/tags/all"}]},"basePath":"","title":"Migrate Postgres Data - Shuttle Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}