我们正在使用CockroachDB。我们正在尝试使用命令
“导入” .sql转储文件。cockroach sql --database=database name < file-name.sql --insecure
按Enter键后,将在数据库中创建不包含 Jsonb 的表,并抛出错误:
pq:群集版本不支持JSONB(> == 2.0必需
错误:pq:集群版本不支持JSONB(> == 2.0)
无法运行“ sql”
我们的群集版本与cockroachdb v2.0.5(最新)的版本相同。我们已经尝试过升级,但是没有运气。
我们的集群构建版本:
build:CCL v2.0.5 @ 2018/08/13 17:59:42(go1.10)
答案 0 :(得分:0)
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列仍然不起作用,那么我们需要更深入地研究正在发生的事情。