【问题标题】:How to enable 'allow_drop_detached' in system.settings?如何在 system.settings 中启用“allow_drop_detached”?
【发布时间】:2020-09-09 00:20:26
【问题描述】:

我应该在 config.xml 中指定什么来启用(设置为 1)system.settings 表中的 allow_drop_detached 参数?

'alter table' 请求不能更改它。

错误信息:

Code: 344. DB::Exception: Received from localhost:9000. DB::Exception: Cannot execute query: DROP DETACHED PART is disabled (see allow_drop_detached setting).

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    应该在user.xml而不是config.xml中定义。


    在目录 /etc/clickhouse-server/users.d/ 中创建具有所需更改的任意文件(这里是 query.settings.xml): p>

    nano /etc/clickhouse-server/users.d/query.settings.xml
    

    有内容(这里这个参数只为 default-profile 设置):

    <?xml version="1.0"?>
    <yandex>
        <profiles>
            <default>
                <!-- Allow ALTER TABLE ... DROP DETACHED PART[ITION] ... queries. -->
                <allow_drop_detached>1</allow_drop_detached>
            </default>
        </profiles>
    </yandex>
    

    保存此文件并检查参数是否设置为 1:

    SELECT *
    FROM system.settings
    WHERE name = 'allow_drop_detached'
    /*
    ┌─name────────────────┬─value─┬─changed─┬─description─────────────────────────────────────────────────┬─min──┬─max──┬─readonly─┐
    │ allow_drop_detached │ 1     │       1 │ Allow ALTER TABLE ... DROP DETACHED PART[ITION] ... queries │ ᴺᵁᴸᴸ │ ᴺᵁᴸᴸ │        0 │
    └─────────────────────┴───────┴─────────┴─────────────────────────────────────────────────────────────┴──────┴──────┴──────────┘
    */
    

    设置此参数的替代方法是:

    1. 查询级别
    ALTER TABLE table
        DROP DETACHED PARTITION '2020-04-01'
    SETTINGS allow_drop_detached = 1;
    
    1. 会话级别
    SET allow_drop_detached = 1;
    
    ALTER TABLE table
        DROP DETACHED PARTITION '2020-04-01';
    

    【讨论】:

      猜你喜欢
      • 2020-05-15
      • 2012-03-24
      • 2017-02-10
      • 2012-02-09
      • 2010-11-24
      • 2013-08-19
      • 2022-01-04
      • 2010-09-26
      • 2019-04-23
      相关资源
      最近更新 更多