【问题标题】:What exactly happens when renaming tables in ClickHouse?在 ClickHouse 中重命名表时究竟会发生什么?
【发布时间】:2020-06-09 11:38:32
【问题描述】:

我阅读了https://clickhouse.tech/docs/en/sql-reference/statements/misc/#misc_operations-rename 并知道所有表都在全局锁定下重命名。

我的重命名案例是

rename table t_real_table to t_archive, t_new_data to t_real_table

为了归档旧的t_real_table 并使新生成的表t_new_data 用作t_real_table

我有时会在重命名期间发现一些查询 (select * from t_real_table) 失败 (Table t_real_table doesn't exist)。重命名似乎不是一个非常短暂的过程。我想知道重命名表时究竟会发生什么,以便找到避免此类失败的方法。

是不是把metadata/t_real_table.sql改成metadata/t_archive.sql,把data/default/t_real_table/的路径名改成data/default/t_archive/,然后把metadata/t_new_data.sql改成metadata/t_real_table.sql,把data/default/t_new_data/的路径名改成data/default/t_real_table/

如果是这样,我认为重命名不会持续这么久。但是如何避免重命名过程中的失败呢? Atomic Engine靠谱吗?

【问题讨论】:

    标签: rename clickhouse


    【解决方案1】:

    https://github.com/ClickHouse/ClickHouse/issues/11555#issuecomment-642011592

    文档有误。没有全局锁,它被删除了

    6757

    【讨论】:

      猜你喜欢
      • 2015-12-25
      • 2019-07-29
      • 2019-10-12
      • 2015-10-23
      • 2011-01-18
      • 2012-01-15
      • 2014-08-20
      • 1970-01-01
      • 2019-08-20
      相关资源
      最近更新 更多