You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JetBrains Rider用pg_dump导出CockroachDB遇search_path错误

解决JetBrains Rider中pg_dump导出CockroachDB数据的search_path错误

问题原因

你遇到的错误源于原生PostgreSQL的pg_dump工具与CockroachDB的兼容性差异:
原生pg_dump默认会执行SELECT pg_catalog.set_config('search_path', '', false);来清空搜索路径,但CockroachDB不允许将search_path设为空字符串,直接触发参数校验错误,导致导出中断。

解决方案

方案1:使用CockroachDB官方自带的备份工具(推荐)

CockroachDB提供了专门的cockroach dump命令,完全适配集群特性,是官方推荐的备份方式:

# 导出单个数据库
cockroach dump --url='postgresql://用户名:密码@集群地址:端口/数据库名' > 备份文件.sql

# 导出所有数据库(需管理员权限)
cockroach dump --url='postgresql://用户名:密码@集群地址:端口' --dump-all > 全量备份.sql

# 非安全集群需添加--insecure参数
cockroach dump --url='postgresql://用户名@集群地址:端口/数据库名' --insecure > 备份文件.sql

方案2:修改Rider中pg_dump的参数(继续使用原生pg_dump)

如果坚持使用Rider的pg_dump导出功能,需在附加命令行选项中强制指定合法的search_path:

  1. 在Rider的导出窗口中,找到「附加命令行选项」输入框
  2. 添加参数:--set=search_path=public(若有多个自定义schema,用逗号分隔,比如public,your_schema)
  3. 重新执行导出操作,此时pg_dump会将搜索路径设为合法值,避免触发错误。

内容的提问来源于stack exchange,提问作者Davrozz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:02:37