メインコンテンツまでスキップ
メインコンテンツまでスキップ

スタートアップスクリプト

ClickHouseは、サーバーの設定から任意のSQLクエリを起動時に実行できます。これは、マイグレーションや自動スキーマの作成に便利です。

<clickhouse>
    <startup_scripts>
        <throw_on_error>false</throw_on_error>
        <scripts>
            <query>CREATE ROLE OR REPLACE test_role</query>
        </scripts>
        <scripts>
            <query>CREATE TABLE TestTable (id UInt64) ENGINE=TinyLog</query>
            <condition>SELECT 1;</condition>
        </scripts>
        <scripts>
            <query>CREATE DICTIONARY test_dict (...) SOURCE(CLICKHOUSE(...))</query>
            <user>default</user>
        </scripts>
    </startup_scripts>
</clickhouse>

ClickHouseは、startup_scriptsからすべてのクエリを指定された順序で順次実行します。もしクエリのいずれかが失敗しても、次のクエリの実行は中断されません。ただし、throw_on_errorがtrueに設定されている場合、スクリプト実行中にエラーが発生するとサーバーは起動しません。

設定ファイルに条件付きクエリを指定できます。その場合、条件クエリが値 1 または true を返したときのみ、対応するクエリが実行されます。

注記

条件クエリが 1 または true 以外の値を返すと、その結果は false と解釈され、対応するクエリは実行されません。