应该在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 │
└─────────────────────┴───────┴─────────┴─────────────────────────────────────────────────────────────┴──────┴──────┴──────────┘
*/
设置此参数的替代方法是:
- 查询级别
ALTER TABLE table
DROP DETACHED PARTITION '2020-04-01'
SETTINGS allow_drop_detached = 1;
- 会话级别
SET allow_drop_detached = 1;
ALTER TABLE table
DROP DETACHED PARTITION '2020-04-01';