Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

設定プロファイル

設定プロファイルは、同じ名前でまとめられた設定の集まりです。

プロファイルには任意の名前を付けられます。同じプロファイルを複数のユーザーに指定することもできます。設定プロファイルに記述できる最も重要な項目は readonly=1 で、これにより読み取り専用アクセスが確保されます。

設定プロファイルは他の設定プロファイルを継承できます。継承を使用するには、プロファイル内に記載するほかの設定より前に、1 つ以上の profile 設定を指定します。ある設定が複数のプロファイルで定義されている場合は、最後に定義されたものが使用されます。

プロファイル内のすべての設定を適用するには、profile 設定を指定します。

例:

web プロファイルをインストールします。

SET profile = 'web'

設定プロファイルは、ユーザー設定ファイルで定義します。通常は users.xml です。

例:

<!-- 設定プロファイル -->
<profiles>
    <!-- デフォルト設定 -->
    <default>
        <!-- 単一クエリ実行時の最大スレッド数。 -->
        <max_threads>8</max_threads>
    </default>

    <!-- バックグラウンド操作の設定 -->
    <background>
        <!-- バックグラウンド操作の最大スレッド数を再定義 -->
        <max_threads>12</max_threads>
    </background>

    <!-- ユーザーインターフェイスからのクエリに対する設定 -->
    <web>
        <max_rows_to_read>1000000000</max_rows_to_read>
        <max_bytes_to_read>100000000000</max_bytes_to_read>

        <max_rows_to_group_by>1000000</max_rows_to_group_by>
        <group_by_overflow_mode>any</group_by_overflow_mode>

        <max_rows_to_sort>1000000</max_rows_to_sort>
        <max_bytes_to_sort>1000000000</max_bytes_to_sort>

        <max_result_rows>100000</max_result_rows>
        <max_result_bytes>100000000</max_result_bytes>
        <result_overflow_mode>break</result_overflow_mode>

        <max_execution_time>600</max_execution_time>
        <min_execution_speed>1000000</min_execution_speed>
        <timeout_before_checking_execution_speed>15</timeout_before_checking_execution_speed>

        <max_columns_to_read>25</max_columns_to_read>
        <max_temporary_columns>100</max_temporary_columns>
        <max_temporary_non_const_columns>50</max_temporary_non_const_columns>

        <max_subquery_depth>2</max_subquery_depth>
        <max_pipeline_depth>25</max_pipeline_depth>
        <max_ast_depth>50</max_ast_depth>
        <max_ast_elements>100</max_ast_elements>

        <max_sessions_for_user>4</max_sessions_for_user>

        <readonly>1</readonly>
    </web>
</profiles>

この例では、defaultweb の 2 つのプロファイルを指定しています。

default プロファイルには特別な役割があります。これは常に存在している必要があり、サーバーの起動時に適用されます。つまり、default プロファイルにはデフォルト設定が含まれます。デフォルトプロファイルの名前は、default_profile サーバー設定で変更できます。

background プロファイルにも特別な役割があります。これは、バックグラウンド処理用の設定を上書きするために存在する場合があります。このパラメータは省略可能で、名前は background_profile サーバー設定で変更できます。

web プロファイルは通常のプロファイルで、SET クエリ、または HTTP クエリの URL パラメータを使用して設定できます。

Navigation