pq: 集群版本不支持 JSONB (>= 2.0 required)

pq: cluster version does not support JSONB (>= 2.0 required)

我们正在使用 CockroachDB。我们正在尝试使用命令 "import" .sql 转储文件

cockroach sql --database=database name < file-name.sql --insecure

按下回车键后,在数据库中创建了没有 Jsonb 的表,并抛出一条错误消息:

pq: cluster version does not support JSONB (>= 2.0 required
Error: pq: cluster version does not support JSONB (>= 2.0 required)
Failed running "sql"

我们的集群版本与cockroachdb v2.0.5(Latest)版本相同。我们已经尝试过升级之类的东西,但没有成功。

我们的集群构建版本:

build: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     |
+---------+

为了升级集群版本我们需要finalize the upgrade:

root@:26257/> SET CLUSTER SETTING version = crdb_internal.node_executable_version();
SET CLUSTER SETTING

root@:26257/> SHOW CLUSTER SETTING version;
+---------+
| version |
+---------+
| 2.0     |
+---------+

查看有关升级集群的所有 this tutorial。如果您已执行所有这些步骤并且 SHOW CLUSTER SETTING version 指示 2.0 而您的 JSONB 列仍然无效,那么我们需要更深入地了解正在发生的事情。