无法以只读模式插入表

Ash*_*ari 2 node.js clickhouse

当我尝试在 clickhouse 数据库中插入记录时,出现以下异常:

例外:

Code: 164, e.displayText() = DB::Exception: Cannot insert into table in readonly mode, e.what() = DB::Exception
Run Code Online (Sandbox Code Playgroud)

节点包:

https://www.npmjs.com/package/clickhouse

连接代码:

const clickhouse = new ClickHouse({
url: 'http://localhost',
port: 8123,
debug: true,
database: 'mydb',
basicAuth: 'default',
username: '',
password: '',
isUseGzip: false,
config: {
    session_timeout                         : 60,
    output_format_json_quote_64bit_integers : 0,
    enable_http_compression                 : 0
},

});
Run Code Online (Sandbox Code Playgroud)

表架构:

CREATE TABLE logs_1 ( trid UInt64,  date UInt32,  email String) ENGINE = Log;
Run Code Online (Sandbox Code Playgroud)

fil*_*nov 5

可能的原因:

  • 您使用在用户设置/用户配置文件中设置了只读标志的用户连接到 ClickHouse。
  • 您正在尝试使用 GET 请求而不是 POST 插入数据(如果您使用该库,则可能不是您的情况)
  • 您正在插入到复制表中,并且服务器与 zookeeper 没有连接(不是您的情况,因为您使用日志引擎插入到非复制表中)

所以请检查默认用户和配置文件的设置。很可能它包含只读标志。