从 Neon 迁移到 Supabase
将您现有的 Neon 数据库迁移至 Supabase。
本指南将演示如何将您的 Neon 数据库迁移至 Supabase,在充分利用 Postgres 功能的同时,获得构建项目所需的所有特性。
获取 Neon 数据库凭证
- 登录 Neon 控制台 https://console.neon.tech/login
- 在左侧选择 Projects
- 从列表中选择您的项目
- 在项目仪表盘中找到 Connection string 并点击 Copy snippet 复制到剪贴板(不要勾选"pooled connection")
示例:
1postgresql://neondb_owner:xxxxxxxxxxxxxxx-random-word-yyyyyyyy.us-west-2.aws.neon.tech/neondb?sslmode=require
设置 OLD_DB_URL
环境变量
在命令行中使用剪贴板中的 Neon 数据库凭证设置 OLD_DB_URL 环境变量。
示例:
1export OLD_DB_URL="postgresql://neondb_owner:xxxxxxxxxxxxxxx-random-word-yyyyyyyy.us-west-2.aws.neon.tech/neondb?sslmode=require"
获取 Supabase 连接字符串
-
在项目仪表盘中点击 Connect
-
在 Session pooler 下,点击连接字符串右侧的 Copy 按钮复制到剪贴板
设置 NEW_DB_URL
环境变量
在命令行中使用 Supabase 连接字符串设置 NEW_DB_URL 环境变量。您需要将 [YOUR-PASSWORD]
替换为实际的数据库密码。
示例:
1export NEW_DB_URL="postgresql://postgres.xxxxxxxxxxxxxxxxxxxx:[YOUR-PASSWORD]@aws-0-us-west-1.pooler.supabase.com:5432/postgres"
数据库迁移
您需要安装 pg_dump 和 psql 命令行工具,这些工具包含在完整的 Postgres 安装包中。
-
将数据库导出到控制台文件
使用
pg_dump
命令配合您的 Postgres 凭据将数据库导出到文件(例如dump.sql
)。
1234567pg_dump "$OLD_DB_URL" \ --clean \ --if-exists \ --quote-all-identifiers \ --no-owner \ --no-privileges \ > dump.sql
-
将数据库导入到您的 Supabase 项目
使用
psql
命令将 Postgres 数据库文件导入到您的 Supabase 项目。1psql -d "$NEW_DB_URL" -f dump.sql
附加选项
- 若只需迁移单个数据库模式,在
pg_dump
命令中添加--schema=PATTERN
参数 - 排除特定模式:
--exclude-schema=PATTERN
- 仅迁移单个表:
--table=PATTERN
- 排除特定表:
--exclude-table=PATTERN
运行 pg_dump --help
查看完整选项列表。
-
如果您计划迁移大于 6GB 的数据库,建议至少升级到大型计算附加组件。这将确保您拥有高效处理迁移所需的资源。
-
对于小于 150GB 的数据库,您可以在付费项目中,通过导航到计算和磁盘设置页面来增加磁盘大小。
-
如果您处理的数据库大于 150GB,强烈建议您联系我们的支持团队,以获取配置所需资源的帮助,并确保迁移过程顺利进行。
企业版
如需获取更多迁移帮助,请联系我们。