> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-3a82795f.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 実行されたクエリに関する情報を格納するシステムテーブルです。たとえば、 開始時刻、処理時間、エラーメッセージなどが含まれます。

# system.query_log

<Info>
  **ClickHouse Cloud でのクエリ**

  このシステムテーブルのデータは、ClickHouse Cloud の各ノードにローカルに保持されています。したがって、すべてのデータを完全に把握するには、`clusterAllReplicas` 関数を使用する必要があります。詳細については、[こちら](/ja/reference/system-tables/overview#system-tables-in-clickhouse-cloud)を参照してください。
</Info>

<div id="description">
  ## 説明
</div>

実行されたクエリに関するメタデータと統計情報 (開始時刻、所要時間、エラーメッセージ、リソース使用量、その他の実行詳細など) を保存します。クエリの結果は保存しません。

クエリのログに関する設定は、サーバー設定の [query\_log](/ja/reference/settings/server-settings/settings#query_log) セクションで変更できます。

[log\_queries = 0](/ja/reference/settings/session-settings#log_queries) を設定すると、クエリのログを無効にできます。問題の解決にはこのテーブルの情報が重要であるため、ログを無効にすることは推奨されません。

データのフラッシュ間隔は、サーバー設定の [query\_log](/ja/reference/settings/server-settings/settings#query_log) セクションにある `flush_interval_milliseconds` パラメータで設定します。強制的にフラッシュするには、[SYSTEM FLUSH LOGS](/ja/reference/statements/system#flush-logs) クエリを使用します。

ClickHouse はテーブルからデータを自動的に削除しません。詳しくは [Introduction](/ja/reference/system-tables/overview#system-tables-introduction) を参照してください。

`system.query_log` テーブルには、2 種類のクエリが記録されます。

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

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

1. クエリの実行が成功した場合は、`QueryStart` 型と `QueryFinish` 型の 2 行が作成されます。
2. クエリ処理中にエラーが発生した場合は、`QueryStart` 型と `ExceptionWhileProcessing` 型の 2 つのイベントが作成されます。
3. クエリの開始前にエラーが発生した場合は、`ExceptionBeforeStart` 型の単一イベントが作成されます。

[log\_queries\_probability](/ja/reference/settings/session-settings#log_queries_probability) 設定を使用すると、`query_log` テーブルに記録されるクエリ数を減らせます。

[log\_formatted\_queries](/ja/reference/settings/session-settings#log_formatted_queries) 設定を使用すると、整形済みクエリを `formatted_query` カラムに記録できます。

<div id="columns">
  ## カラム
</div>

* `hostname` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — クエリを実行しているサーバーのホスト名。
* `type` ([Enum8('QueryStart' = 1, 'QueryFinish' = 2, 'ExceptionBeforeStart' = 3, 'ExceptionWhileProcessing' = 4)](/ja/reference/data-types/enum)) — クエリ実行時に発生したイベントの種類。値: `QueryStart` — クエリ実行の正常な開始、`QueryFinish` — クエリ実行の正常な終了、`ExceptionBeforeStart` — クエリ実行開始前の例外、`ExceptionWhileProcessing` — クエリ実行中の例外。
* `event_date` ([Date](/ja/reference/data-types/date)) — クエリの開始日付。
* `event_time` ([DateTime](/ja/reference/data-types/datetime)) — クエリの開始時刻。
* `event_time_microseconds` ([DateTime64(6)](/ja/reference/data-types/datetime64)) — マイクロ秒精度でのクエリ開始時刻。
* `query_start_time` ([DateTime](/ja/reference/data-types/datetime)) — クエリ実行の開始時刻。
* `query_start_time_microseconds` ([DateTime64(6)](/ja/reference/data-types/datetime64)) — マイクロ秒精度で記録されるクエリ実行の開始時刻。
* `query_duration_ms` ([UInt64](/ja/reference/data-types/int-uint)) — クエリの実行時間 (ミリ秒) 。
* `read_rows` ([UInt64](/ja/reference/data-types/int-uint)) — クエリに関与したすべてのテーブルおよびテーブル関数から読み取られた行の総数です。通常のサブクエリに加え、IN および JOIN のサブクエリも含まれます。分散クエリでは、read\_rows にはすべてのレプリカで読み取られた行の総数が含まれます。各レプリカは自身の read\_rows の値を送信し、クエリのサーバー側のイニシエーターが、受信したすべての値とローカルの値を集計します。cache の容量はこの値には影響しません。
* `read_bytes` ([UInt64](/ja/reference/data-types/int-uint)) — クエリで使用されたすべてのテーブルおよびテーブル関数から読み取られた合計バイト数です。通常のサブクエリに加え、IN および JOIN 用のサブクエリも含まれます。分散クエリでは、read\_bytes にはすべてのレプリカで読み取られた行数の合計が含まれます。各レプリカは自身の read\_bytes の値を送信し、クエリのイニシエーターであるサーバーが、受信したすべての値とローカルの値を集計します。cache のサイズはこの値に影響しません。
* `written_rows` ([UInt64](/ja/reference/data-types/int-uint)) — INSERTクエリでは、書き込まれた行数を示します。その他のクエリでは、カラムの値は0です。
* `written_bytes` ([UInt64](/ja/reference/data-types/int-uint)) — INSERTクエリでは、書き込まれたバイト数 (非圧縮) を示します。その他のクエリでは、このカラムの値は 0 です。
* `result_rows` ([UInt64](/ja/reference/data-types/int-uint)) — SELECT クエリの結果の行数、または INSERT クエリの行数。
* `result_bytes` ([UInt64](/ja/reference/data-types/int-uint)) — クエリ結果の保存に使用されるRAMの量 (バイト単位) 。
* `memory_usage` ([UInt64](/ja/reference/data-types/int-uint)) — クエリのメモリ使用量。
* `current_database` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — 現在のデータベース名。
* `query` ([String](/ja/reference/data-types/string)) — クエリ文字列。
* `formatted_query` ([String](/ja/reference/data-types/string)) — 整形済みのクエリ文字列。
* `normalized_query_hash` ([UInt64](/ja/reference/data-types/int-uint)) — リテラル値だけが異なるクエリでは同一となる数値のハッシュ値。
* `query_kind` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — クエリの種別。
* `databases` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリに含まれるデータベース名。
* `tables` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリに含まれるテーブル名。
* `columns` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ内に含まれるカラム名。
* `partitions` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリに含まれるパーティション名。
* `projections` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に使用されたプロジェクションの名前。
* `views` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリに含まれる (マテリアライズドビューまたはライブビュー) の名前。
* `exception_code` ([Int32](/ja/reference/data-types/int-uint)) — 例外コード。
* `exception` ([String](/ja/reference/data-types/string)) — 例外メッセージ。
* `stack_trace` ([String](/ja/reference/data-types/string)) — スタックトレース。クエリが正常に完了した場合は、空文字列です。
* `is_initial_query` ([UInt8](/ja/reference/data-types/int-uint)) — クエリタイプ。設定可能な値: 1 — クエリがクライアントによって開始されたことを示します、0 — 分散クエリ実行の一部として、別のクエリによって開始されたことを示します。
* `connection_address` ([IPv6](/ja/reference/data-types/ipv6)) — 接続元のクライアント IP アドレス。プロキシ経由で接続している場合は、プロキシのアドレスになります。
* `connection_port` ([UInt16](/ja/reference/data-types/int-uint)) — 接続元のクライアントポートです。プロキシ経由で接続している場合は、プロキシのポートになります。
* `user` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — 現在のクエリを実行したユーザー名。
* `query_id` ([String](/ja/reference/data-types/string)) — クエリの識別子。
* `address` ([IPv6](/ja/reference/data-types/ipv6)) — クエリの実行に使用された IP アドレス。プロキシ経由で接続され、`auth_use_forwarded_address` が設定されている場合、これはプロキシではなくクライアントのアドレスになります。
* `port` ([UInt16](/ja/reference/data-types/int-uint)) — クエリの実行に使用されたクライアントのポート。プロキシ経由で接続しており、`auth_use_forwarded_address` が設定されている場合、これはプロキシではなくクライアント側のポートになります。
* `initial_user` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — 分散クエリ実行時に最初のクエリを実行したユーザー名。
* `initial_query_id` ([String](/ja/reference/data-types/string)) — 最初のクエリの ID (分散クエリの実行時) 。
* `initial_address` ([IPv6](/ja/reference/data-types/ipv6)) — 親クエリの送信元IPアドレス。
* `initial_port` ([UInt16](/ja/reference/data-types/int-uint)) — 親クエリの実行に使用されたクライアントのポート。
* `initial_query_start_time` ([DateTime](/ja/reference/data-types/datetime)) — 元のクエリの開始時刻 (分散クエリ実行時) 。
* `initial_query_start_time_microseconds` ([DateTime64(6)](/ja/reference/data-types/datetime64)) — マイクロ秒精度の初期クエリ開始時刻 (分散クエリ実行時) 。
* `authenticated_user` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — セッション内で認証されたユーザー名。
* `interface` ([UInt8](/ja/reference/data-types/int-uint)) — クエリの開始元となったインターフェイス。設定可能な値: 1 — TCP、2 — HTTP。
* `is_secure` ([UInt8](/ja/reference/data-types/int-uint)) — クエリがセキュアなインターフェイス経由で実行されたかどうかを示すフラグ
* `os_user` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — `clickhouse-client` を実行しているオペレーティングシステムのユーザー名。
* `client_hostname` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — clickhouse-client または別の TCP クライアントが実行されているクライアントマシンのホスト名。
* `client_name` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — clickhouse-client または他の TCP クライアントの名前。
* `client_revision` ([UInt32](/ja/reference/data-types/int-uint)) — clickhouse-client または他の TCP クライアントのリビジョン。
* `client_version_major` ([UInt32](/ja/reference/data-types/int-uint)) — clickhouse-client またはその他の TCP クライアントのメジャーバージョン。
* `client_version_minor` ([UInt32](/ja/reference/data-types/int-uint)) — clickhouse-client またはその他の TCP クライアントのマイナーバージョン。
* `client_version_patch` ([UInt32](/ja/reference/data-types/int-uint)) — clickhouse-client または他の TCP クライアントのバージョンにおけるパッチ部分。
* `script_query_number` ([UInt32](/ja/reference/data-types/int-uint)) — clickhouse-client で、複数のクエリを含むスクリプト内のクエリ番号。
* `script_line_number` ([UInt32](/ja/reference/data-types/int-uint)) — clickhouse-client において、複数のクエリを含むスクリプトでクエリが開始される行番号です。
* `http_method` ([UInt8](/ja/reference/data-types/int-uint)) — クエリの実行を開始した HTTP メソッド。設定可能な値: 0 — クエリは TCP インターフェイス経由で実行された、1 — GET メソッドが使用された、2 — POST メソッドが使用された。
* `http_user_agent` ([LowCardinality(String)](/ja/reference/data-types/lowcardinality)) — HTTPクエリで送信されるHTTPヘッダー UserAgent。
* `http_referer` ([String](/ja/reference/data-types/string)) — HTTPクエリで渡されるHTTPヘッダーのReferer (クエリを行うページの絶対アドレスまたは部分的なアドレスを含みます) 。
* `forwarded_for` ([文字列](/ja/reference/data-types/string)) — HTTPクエリで渡される X-Forwarded-For HTTPヘッダー。
* `quota_key` ([String](/ja/reference/data-types/string)) — quotas 設定で指定するクォータキー (keyed を参照) 。
* `distributed_depth` ([UInt64](/ja/reference/data-types/int-uint)) — クエリがサーバー間で何回転送されたか。
* `revision` ([UInt32](/ja/reference/data-types/int-uint)) — ClickHouseのリビジョン番号。
* `log_comment` ([String](/ja/reference/data-types/string)) — ログコメント。max\_query\_size を超えない任意の文字列を設定できます。定義されていない場合は空文字列です。
* `thread_ids` ([Array(UInt64)](/ja/reference/data-types/array)) — クエリの実行に関与しているスレッド ID。これらのスレッドが同時に実行されていたとは限りません。
* `peak_threads_usage` ([UInt64](/ja/reference/data-types/int-uint)) — クエリの実行時に同時に使用されるスレッド数の最大値。
* `ProfileEvents` ([Map(LowCardinality(String), UInt64)](/ja/reference/data-types/map)) — さまざまなメトリクスを計測する ProfileEvents です。これらの説明は `system.events` テーブルにあります
* `Settings` ([Map(LowCardinality(String), LowCardinality(String))](/ja/reference/data-types/map)) — クライアントがクエリを実行したときに変更された設定。設定の変更を記録するには、log\_query\_settings パラメータを 1 に設定します。
* `used_aggregate_functions` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリの実行中に使用された集約関数の正式名。
* `used_aggregate_function_combinators` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に使用された集約関数コンビネータの正準名。
* `used_database_engines` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリの実行中に使用されたデータベースエンジンの正式名称。
* `used_data_type_families` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に使用されたデータ型ファミリーの標準名。
* `used_dictionaries` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に使用された辞書の正規名。
* `used_formats` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に使用されたフォーマットの正式名。
* `used_functions` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリの実行中に使用された関数の正式名。
* `used_storages` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリの実行時に使用されたストレージの正式名称。
* `used_table_functions` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリの実行時に使用されたテーブル関数の正規名。
* `used_executable_user_defined_functions` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に使用された実行可能なユーザー定義関数の正規名。
* `used_sql_user_defined_functions` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行中に使用された SQL ユーザー定義関数の正規名。
* `used_row_policies` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行中に使用された行ポリシー名の一覧。
* `used_privileges` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に正常にチェックされた権限。
* `missing_privileges` ([Array(LowCardinality(String))](/ja/reference/data-types/array)) — クエリ実行時に不足している権限。
* `transaction_id` ([Tuple(UInt64, UInt64, UUID)](/ja/reference/data-types/tuple)) — このクエリが属するトランザクションの識別子。
* `query_cache_usage` ([Enum8('Unknown' = 0, 'None' = 1, 'Write' = 2, 'Read' = 3)](/ja/reference/data-types/enum)) — クエリ実行時のクエリキャッシュの使用状況。値: 'Unknown' = 状態不明、'None' = クエリ結果はクエリ結果キャッシュに書き込まれず、クエリ結果キャッシュからも読み出されませんでした、'Write' = クエリ結果はクエリ結果キャッシュに書き込まれました、'Read' = クエリ結果はクエリ結果キャッシュから読み出されました。
* `asynchronous_read_counters` ([Map(LowCardinality(String), UInt64)](/ja/reference/data-types/map)) — 非同期読み込みのメトリクス。
* `is_internal` ([UInt8](/ja/reference/data-types/int-uint)) — 内部で実行される補助クエリかどうかを示します。

**別名:**

* `ProfileEvents.Names` — `mapKeys(ProfileEvents)` の別名です。
* `ProfileEvents.Values` — `mapValues(ProfileEvents)` の別名です。
* `Settings.Names` — `mapKeys(Settings)` の別名です。
* `Settings.Values` — `mapValues(Settings)` の別名です。

<div id="examples">
  ## 例
</div>

**基本的な例**

```sql theme={null}
SELECT * FROM system.query_log WHERE type = 'QueryFinish' ORDER BY query_start_time DESC LIMIT 1 FORMAT Vertical;
```

```text theme={null}
Row 1:
──────
hostname:                              clickhouse.eu-central1.internal
type:                                  QueryFinish
event_date:                            2021-11-03
event_time:                            2021-11-03 16:13:54
event_time_microseconds:               2021-11-03 16:13:54.953024
query_start_time:                      2021-11-03 16:13:54
query_start_time_microseconds:         2021-11-03 16:13:54.952325
query_duration_ms:                     0
read_rows:                             69
read_bytes:                            6187
written_rows:                          0
written_bytes:                         0
result_rows:                           69
result_bytes:                          48256
memory_usage:                          0
current_database:                      default
query:                                 DESCRIBE TABLE system.query_log
formatted_query:
normalized_query_hash:                 8274064835331539124
query_kind:
databases:                             []
tables:                                []
columns:                               []
projections:                           []
views:                                 []
exception_code:                        0
exception:
stack_trace:
is_initial_query:                      1
user:                                  default
query_id:                              7c28bbbb-753b-4eba-98b1-efcbe2b9bdf6
address:                               ::ffff:127.0.0.1
port:                                  40452
initial_user:                          default
initial_query_id:                      7c28bbbb-753b-4eba-98b1-efcbe2b9bdf6
initial_address:                       ::ffff:127.0.0.1
initial_port:                          40452
initial_query_start_time:              2021-11-03 16:13:54
initial_query_start_time_microseconds: 2021-11-03 16:13:54.952325
interface:                             1
os_user:                               sevirov
client_hostname:                       clickhouse.eu-central1.internal
client_name:                           ClickHouse
client_revision:                       54449
client_version_major:                  21
client_version_minor:                  10
client_version_patch:                  1
http_method:                           0
http_user_agent:
http_referer:
forwarded_for:
quota_key:
revision:                              54456
log_comment:
thread_ids:                            [30776,31174]
ProfileEvents:                         {'Query':1,'NetworkSendElapsedMicroseconds':59,'NetworkSendBytes':2643,'SelectedRows':69,'SelectedBytes':6187,'ContextLock':9,'RWLockAcquiredReadLocks':1,'RealTimeMicroseconds':817,'UserTimeMicroseconds':427,'SystemTimeMicroseconds':212,'OSCPUVirtualTimeMicroseconds':639,'OSReadChars':894,'OSWriteChars':319}
Settings:                              {'load_balancing':'random','max_memory_usage':'10000000000'}
used_aggregate_functions:              []
used_aggregate_function_combinators:   []
used_database_engines:                 []
used_data_type_families:               []
used_dictionaries:                     []
used_formats:                          []
used_functions:                        []
used_storages:                         []
used_table_functions:                  []
used_executable_user_defined_functions:[]
used_sql_user_defined_functions:       []
used_privileges:                       []
missing_privileges:                    []
query_cache_usage:                     None
```

**Cloud の例**

ClickHouse Cloud では、`system.query_log` は各ノードごとにローカルです。すべてのエントリを確認するには、[`clusterAllReplicas`](/ja/reference/functions/table-functions/cluster) 経由でクエリする必要があります。

たとえば、“default” クラスター内のすべてのレプリカの query\_log の行を集約するには、次のように記述できます。

```sql theme={null}
SELECT * 
FROM clusterAllReplicas('default', system.query_log)
WHERE event_time >= now() - toIntervalHour(1)
LIMIT 10
SETTINGS skip_unavailable_shards = 1;
```

<div id="see-also">
  ## 関連項目
</div>

* [system.query\_thread\_log](/ja/reference/system-tables/query_thread_log) — このテーブルには、各クエリ実行スレッドの情報が含まれています。
