Supabase恢复单表触发Request body is too large错误,如何解决?
解决Supabase Web UI执行COPY命令请求体过大的问题
方法一:用psql命令行工具(最稳妥)
这是PostgreSQL官方客户端,完全不受Web UI的大小限制:
- 从Supabase后台获取数据库连接串:打开项目的Settings > Database > Connection Pooling,复制psql格式的连接字符串(包含用户名、密码、地址和端口)
- 把解压后的备份内容存成本地文件,比如
my_table_backup.sql - 打开本地终端,执行命令:
等待执行完成即可,整个COPY命令会完整运行。psql "你的连接字符串" -f my_table_backup.sql
方法二:拆分数据分批在Web UI执行
如果暂时不想用命令行,把数据拆成小批次:
- 每个批次都要保留完整的COPY结构:开头是
COPY your_table (col1, col2, ...) FROM stdin;,中间放几百条记录,结尾加\.(这是PostgreSQL标记stdin输入结束的符号) - 比如拆分后每批500条记录,依次把每批内容粘贴到Web UI查询框执行,示例:
注意每一批都要包含完整的开头和结尾,别漏了COPY users (id, name, email) FROM stdin; 1 Alice alice@example.com 2 Bob bob@example.com -- 这里放剩下的498条记录 \.\.。
方法三:用Supabase的文件导入功能
- 把备份内容存成
.sql文件 - 进入Supabase项目的Settings > Database > Import页面
- 上传这个
.sql文件,系统会自动执行里面的SQL命令,适合处理中等大小的文件。
内容的提问来源于stack exchange,提问作者Lukasz
相关产品推荐
相关产品推荐

