如何在QuestDB中使用REINDEX?

huangapple go评论59阅读模式
英文:

How To Use REINDEX in QuestDB?

问题

我正在测试 QuestDB 的 REINDEX 操作,位于 localhost:9000 Web 控制台。

但是不断出现错误:

[23:12:14] 无法锁定表格:/usr/local/var/questdb/db/my_table

以下是我的代码:

如果存在表格,则删除 'my_table';

创建表格 my_table
  (symb SYMBOL CAPACITY 128 NOCACHE, price DOUBLE, ts TIMESTAMP)
timestamp(ts);

修改表格 'my_table' 修改列 symb 添加索引;

重新索引表格 'my_table'  symb 锁定排他;

有什么建议吗?

英文:

I'm testing REINDEX operation of QuestDB in the localhost:9000 Web Console.

But there continuously comes error:

[23:12:14] Cannot lock table: /usr/local/var/questdb/db/my_table

Here is my code:

drop TABLE if EXISTS 'my_table';

CREATE TABLE my_table
  (symb SYMBOL CAPACITY 128 NOCACHE, price DOUBLE, ts TIMESTAMP)
timestamp(ts);

ALTER TABLE 'my_table' ALTER COLUMN symb ADD INDEX;

REINDEX TABLE 'my_table' COLUMN symb LOCK EXCLUSIVE;

Any suggestions?

答案1

得分: 2

根据REINDEX命令文档,操作只能在表上没有其他读取器和写入器正在工作时执行。
查询或修改表会创建读取器和写入器,它们会被缓存一段时间(取决于设置,如cairo.inactive.reader.ttl、cairo.inactive.writer.ttl等)。
如果等待约5分钟或重新启动QuestDB实例,则应释放锁。

英文:

According to (REINDEX command documentation), operation can only be performed when there is no other reader and writer working on the table.
Querying or modifying table creates readers and writers that are cached for some time (depending on settings such as cairo.inactive.reader.ttl, cairo.inactive.writer.ttl, etc. ).
Lock should be released if you wait ~ 5 minutes or restart QuestDB instance .

huangapple
  • 本文由 发表于 2023年2月8日 12:27:56
  • 转载请务必保留本文链接:https://go.coder-hub.com/75381386.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定