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

クエリの権限

ClickHouseのクエリは、いくつかのタイプに分類できます:

  1. データの読み取りクエリ: SELECTSHOWDESCRIBEEXISTS
  2. データの書き込みクエリ: INSERTOPTIMIZE
  3. 設定変更のクエリ: SETUSE
  4. DDL クエリ: CREATEALTERRENAMEATTACHDETACHDROPTRUNCATE
  5. KILL QUERY

次の設定は、クエリのタイプによってユーザーの権限を規制します:

readonly

データの読み取り、データの書き込みおよび設定変更のクエリに対する権限を制限します。

1に設定されている場合、次を許可します:

  • すべての種類の読み取りクエリ(SELECTやその同等のクエリなど)。
  • セッションコンテキストのみに変更を加えるクエリ(USEなど)。

2に設定されている場合、上記に加えて:

  • SETおよびCREATE TEMPORARY TABLE

    ヒント

    EXISTS、DESCRIBE、EXPLAIN、SHOW PROCESSLIST等のクエリは、システムテーブルから選択を行うため、SELECTと同等です。

可能な値:

  • 0 — 読み取り、書き込み、設定変更のクエリが許可されます。
  • 1 — 読み取りデータのクエリのみが許可されます。
  • 2 — 読み取りデータおよび設定変更のクエリが許可されます。

デフォルト値:0

注記

readonly = 1に設定した後は、ユーザーは現在のセッションでreadonlyおよびallow_ddlの設定を変更できません。

HTTPインターフェースGETメソッドを使用する場合、readonly = 1は自動的に設定されます。データを変更するには、POSTメソッドを使用してください。

readonly = 1を設定すると、ユーザーは設定を変更できなくなります。特定の設定だけを変更できないように制限する方法があります。また、readonly = 1制限下で特定の設定だけを変更できるようにする方法もあります。詳細については設定の制約を参照してください。

allow_ddl

DDLクエリを許可または拒否します。

可能な値:

  • 0 — DDLクエリは許可されていません。
  • 1 — DDLクエリは許可されています。

デフォルト値:1

注記

現在のセッションでallow_ddl = 0の場合、SET allow_ddl = 1を実行することはできません。

KILL QUERY

KILL QUERYは、readonlyおよびallow_ddl設定の任意の組み合わせで実行できます。