【问题标题】:pq: cluster version does not support JSONB (>= 2.0 required)pq:集群版本不支持 JSONB(需要>= 2.0)
【发布时间】:2019-02-25 16:10:24
【问题描述】:

我们正在使用 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)版本相同。我们已经尝试过升级和类似的事情,但没有成功。

我们的集群构建版本:

build:CCL v2.0.5 @ 2018/08/13 17:59:42 (go1.10)

【问题讨论】:

    标签: cockroachdb


    【解决方案1】:

    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 列仍然无法正常工作,那么我们需要更深入地了解发生了什么。

    【讨论】:

    • 感谢@Peter Mattis。实际上忘记将我的可执行版本分配给集群设置版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 2020-09-11
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多