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

system.query_log

ClickHouse Cloudでのクエリ

このシステムテーブルのデータは、ClickHouse Cloudの各ノードにローカルに保存されています。したがって、すべてのデータの完全なビューを取得するには、clusterAllReplicas 関数が必要です。詳細については、こちらをご覧ください。

実行されたクエリに関する情報を含みます。例えば、開始時間、処理の持続時間、エラーメッセージ。

注記

このテーブルには、INSERT クエリの取り込まれたデータは含まれません。

クエリのログ記録設定は、サーバー設定の query_log セクションで変更できます。

クエリのログ記録を無効にするには、log_queries = 0 を設定します。情報が重要なため、ログ記録をオフにすることはお勧めできません。

データのフラッシュ間隔は、query_log サーバー設定セクションの flush_interval_milliseconds パラメータで設定されます。フラッシュを強制的に行うには、SYSTEM FLUSH LOGS クエリを使用してください。

ClickHouseは自動的にテーブルからデータを削除しません。詳細については、イントロダクション を参照してください。

system.query_log テーブルでは、2種類のクエリを登録します。

  1. クライアントによって直接実行された初期クエリ。
  2. 他のクエリによって開始された子クエリ(分散クエリ実行のため)。これらのクエリタイプでは、親クエリに関する情報が initial_* カラムに表示されます。

各クエリは、クエリのステータスに応じて、query_log テーブルに1または2の行を作成します(type カラムを参照)。

  1. クエリの実行が成功した場合、QueryStartQueryFinish のタイプの2つの行が作成されます。
  2. クエリ処理の際にエラーが発生した場合、QueryStartExceptionWhileProcessing のタイプの2つのイベントが作成されます。
  3. クエリの開始前にエラーが発生した場合、ExceptionBeforeStart タイプの単一のイベントが作成されます。

query_log テーブルに登録されるクエリの数を減らすには、log_queries_probability 設定を使用できます。

フォーマットされたクエリを formatted_query カラムにログ記録するには、log_formatted_queries 設定を使用できます。

カラム:

  • hostname (LowCardinality(String)) — クエリを実行しているサーバーのホスト名。
  • type (Enum8) — クエリ実行中に発生したイベントのタイプ。値:
    • 'QueryStart' = 1 — クエリ実行の成功開始。
    • 'QueryFinish' = 2 — クエリ実行の成功終了。
    • 'ExceptionBeforeStart' = 3 — クエリ実行前の例外。
    • 'ExceptionWhileProcessing' = 4 — クエリ実行中の例外。
  • event_date (Date) — クエリの開始日。
  • event_time (DateTime) — クエリの開始時間。
  • event_time_microseconds (DateTime64) — マイクロ秒精度のクエリ開始時間。
  • query_start_time (DateTime) — クエリ実行開始時刻。
  • query_start_time_microseconds (DateTime64) — マイクロ秒精度のクエリ実行開始時刻。
  • query_duration_ms (UInt64) — クエリ実行の持続時間(ミリ秒)。
  • read_rows (UInt64) — クエリに参加したすべてのテーブルおよびテーブル関数から読み取った行の合計数。通常のサブクエリ、IN および JOIN 用のサブクエリが含まれます。分散クエリの場合、read_rows はすべてのレプリカで読み取られた行の総数を含みます。各レプリカは read_rows の値を送信し、クエリのサーバー起動者がすべて受信した値とローカル値を要約します。キャッシュのボリュームはこの値に影響を与えません。
  • read_bytes (UInt64) — クエリに参加したすべてのテーブルおよびテーブル関数から読み取ったバイトの合計数。通常のサブクエリ、IN および JOIN 用のサブクエリが含まれます。分散クエリの場合、read_bytes はすべてのレプリカで読み取られた総バイト数を含みます。各レプリカは read_bytes の値を送信し、クエリのサーバー起動者がすべて受信した値とローカル値を要約します。キャッシュのボリュームはこの値に影響を与えません。
  • written_rows (UInt64) — INSERT クエリの場合、書き込まれた行の数。その他のクエリの場合、カラムの値は0。
  • written_bytes (UInt64) — INSERT クエリの場合、書き込まれたバイト数(非圧縮)。その他のクエリの場合、カラムの値は0。
  • result_rows (UInt64) — SELECT クエリの結果の行数、または INSERT クエリの行数。
  • result_bytes (UInt64) — クエリ結果を格納するために使用されたRAMのバイト量。
  • memory_usage (UInt64) — クエリによるメモリ消費。
  • current_database (String) — 現在のデータベースの名前。
  • query (String) — クエリ文字列。
  • formatted_query (String) — フォーマット済みのクエリ文字列。
  • normalized_query_hash (UInt64) — リテラルの値が異なるだけのクエリに対して同一である数値のハッシュ値。
  • query_kind (LowCardinality(String)) — クエリのタイプ。
  • databases (Array(LowCardinality(String))) — クエリに関連するデータベースの名前。
  • tables (Array(LowCardinality(String))) — クエリに関連するテーブルの名前。
  • columns (Array(LowCardinality(String))) — クエリに関連するカラムの名前。
  • partitions (Array(LowCardinality(String))) — クエリに関連するパーティションの名前。
  • projections (String) — クエリ実行中に使用されたプロジェクションの名前。
  • views (Array(LowCardinality(String))) — クエリに関連する(マテリアライズドまたはライブ)ビューの名前。
  • exception_code (Int32) — 例外のコード。
  • exception (String) — 例外メッセージ。
  • stack_trace (String) — スタックトレース。クエリが成功裏に完了した場合は空の文字列。
  • is_initial_query (UInt8) — クエリタイプ。可能な値:
    • 1 — クエリがクライアントによって開始されました。
    • 0 — クエリが分散クエリ実行の一部として別のクエリによって開始されました。
  • user (String) — 現在のクエリを開始したユーザーの名前。
  • query_id (String) — クエリのID。
  • address (IPv6) — クエリを実行するために使用されたIPアドレス。
  • port (UInt16) — クエリを実行するために使用されたクライアントポート。
  • initial_user (String) — 初期クエリを実行したユーザーの名前(分散クエリ実行のため)。
  • initial_query_id (String) — 初期クエリのID(分散クエリ実行のため)。
  • initial_address (IPv6) — 親クエリが開始されたIPアドレス。
  • initial_port (UInt16) — 親クエリを実行するために使用されたクライアントポート。
  • initial_query_start_time (DateTime) — 初期クエリの開始時間(分散クエリ実行のため)。
  • initial_query_start_time_microseconds (DateTime64) — マイクロ秒精度の初期クエリの開始時間(分散クエリ実行のため)。
  • interface (UInt8) — クエリが開始されたインターフェース。可能な値:
    • 1 — TCP。
    • 2 — HTTP。
  • os_user (String) — clickhouse-client を実行するオペレーティングシステムのユーザー名。
  • client_hostname (String) — clickhouse-client または他のTCPクライアントが実行されているクライアントマシンのホスト名。
  • client_name (String) — clickhouse-client または他のTCPクライアントの名前。
  • client_revision (UInt32) — clickhouse-client または他のTCPクライアントのリビジョン。
  • client_version_major (UInt32) — clickhouse-client または他のTCPクライアントのメジャーバージョン。
  • client_version_minor (UInt32) — clickhouse-client または他のTCPクライアントのマイナーバージョン。
  • client_version_patch (UInt32) — clickhouse-client または他のTCPクライアントのパッチコンポーネント。
  • script_query_number (UInt32) — clickhouse-client の複数のクエリを含むスクリプトの中のクエリ番号。
  • script_line_number (UInt32) — clickhouse-client の複数のクエリを含むスクリプト内のクエリ開始の行番号。
  • http_method (UInt8) — クエリを発動させたHTTPメソッド。可能な値:
    • 0 — TCPインターフェースからクエリが起動されました。
    • 1 — GET メソッドが使用されました。
    • 2 — POST メソッドが使用されました。
  • http_user_agent (String) — HTTPクエリで渡されたHTTPヘッダー UserAgent
  • http_referer (String) — HTTPクエリで渡されたHTTPヘッダー Referer(クエリを発行したページの絶対または部分的なアドレスを含みます)。
  • forwarded_for (String) — HTTPクエリで渡されたHTTPヘッダー X-Forwarded-For
  • quota_key (String) — クォータ 設定で指定された quota keykeyed を参照)。
  • revision (UInt32) — ClickHouseのリビジョン。
  • ProfileEvents (Map(String, UInt64)) — 異なるメトリクスを測るProfileEvents。これらの説明は system.events テーブルで見つけることができます。
  • Settings (Map(String, String)) — クライアントがクエリを実行したときに変更された設定。設定変更のログ記録を有効にするには、log_query_settings パラメータを1に設定します。
  • log_comment (String) — ログコメント。これは最大クエリサイズより長くならない任意の文字列に設定できます。定義されていない場合は空の文字列です。
  • thread_ids (Array(UInt64)) — クエリ実行に参加しているスレッドID。これらのスレッドは同時に実行されていない場合があります。
  • peak_threads_usage (UInt64) — クエリを実行している最大同時スレッド数。
  • used_aggregate_functions (Array(String)) — クエリ実行中に使用された aggregate functions の標準名。
  • used_aggregate_function_combinators (Array(String)) — クエリ実行中に使用された aggregate functions combinators の標準名。
  • used_database_engines (Array(String)) — クエリ実行中に使用された database engines の標準名。
  • used_data_type_families (Array(String)) — クエリ実行中に使用された data type families の標準名。
  • used_dictionaries (Array(String)) — クエリ実行中に使用された dictionaries の標準名。XMLファイルを使用して設定された辞書の場合、辞書の名前であり、SQLステートメントによって作成された辞書の場合、標準名は完全修飾オブジェクト名です。
  • used_formats (Array(String)) — クエリ実行中に使用された formats の標準名。
  • used_functions (Array(String)) — クエリ実行中に使用された functions の標準名。
  • used_storages (Array(String)) — クエリ実行中に使用された storages の標準名。
  • used_table_functions (Array(String)) — クエリ実行中に使用された table functions の標準名。
  • used_privileges (Array(String)) - クエリ実行中に正常にチェックされた権限。
  • missing_privileges (Array(String)) - クエリ実行中に不足していた権限。
  • query_cache_usage (Enum8) — クエリ実行中のクエリキャッシュの使用状況。値:
    • 'Unknown' = ステータス不明。
    • 'None' = クエリ結果はクエリキャッシュに書き込まれず、または読み取られませんでした。
    • 'Write' = クエリ結果がクエリキャッシュに書き込まれました。
    • 'Read' = クエリ結果がクエリキャッシュから読み取られました。

関連情報

  • system.query_thread_log — このテーブルには、各クエリ実行スレッドに関する情報が含まれています。