cockroachdb - pq:集群版本不支持 JSONB(需要>= 2.0)
问题描述
我们正在使用 CockroachDB。我们正在尝试使用命令“导入”一个 .sql 转储文件
cockroach sql --database=database name < file-name.sql --insecure
按下回车后,在数据库中创建了没有Jsonb的表并抛出错误说:
pq:集群版本不支持 JSONB(>= 需要 2.0
错误:pq:集群版本不支持 JSONB(>= 需要 2.0)
运行“sql”失败
我们的集群版本与 cockroachdb v2.0.5(Latest) 的版本相同。我们已经尝试过升级和类似的事情,但没有运气。
我们的集群构建版本:
构建:CCL v2.0.5 @ 2018/08/13 17:59:42 (go1.10)
解决方案
CockroachDB 区分构建版本(在您的实例中为 v2.0.5)和集群版本。集群版本可以滞后于构建版本以允许降级。(一旦集群版本被提升,您就不能再降级)。在未发布的 v2.1 系列中,我们添加了在集群中的所有节点升级后自动升级集群版本的功能。但在 v2.0.x 中,您必须手动执行此操作。检查集群版本:
root@:26257/> SHOW CLUSTER SETTING version;
+---------+
| version |
+---------+
| 1.1 |
+---------+
在这里,我正在运行 v1.1.7。如果我将二进制文件升级到 v2.0.5,集群版本不变:
root@:26257/> SHOW CLUSTER SETTING version;
+---------+
| version |
+---------+
| 1.1 |
+---------+
为了升级集群版本,我们需要完成升级:
root@:26257/> SET CLUSTER SETTING version = crdb_internal.node_executable_version();
SET CLUSTER SETTING
root@:26257/> SHOW CLUSTER SETTING version;
+---------+
| version |
+---------+
| 2.0 |
+---------+
请参阅本教程中有关升级集群的所有内容。如果您已执行所有这些步骤并SHOW CLUSTER SETTING version
指示 2.0 并且您的 JSONB 列仍然无法正常工作,那么我们将需要更深入地了解正在发生的事情。
推荐阅读
- sql - 将 Excel 数据插入 SQLite 列
- sql - PIVOT 运算符的列列表中不允许有前缀列
- javascript - Selenium - Driver.quit() 在关闭 webdriver 后产生“UnhandledPromiseRejectionWarning: NoSuchSessionError”
- sql - sql,使用关系数据库和子字符串函数更新
- python - 使用 selenium Python 迭代不同的元素
- android - 我无法在 Home Fragment 中获取SupportFragment?
- swift - 为 iOS 上的聊天应用程序检索和维护大型 CNContactStore 联系人列表
- postgresql - 如何在 PSQL 中查询 3 个表?
- angular - Angular 10,如何访问
价值? - c# - 如何转换字典
进入xml文件?