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

> SYSTEM文に関するドキュメント

# SYSTEM文

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            ClickHouse Cloud では利用できません
        </div>;
};

<div id="reload-embedded-dictionaries">
  ## SYSTEM RELOAD EMBEDDED DICTIONARIES
</div>

すべての[内部Dictionary](/ja/reference/statements/create/dictionary)を再読み込みします。
デフォルトでは、内部Dictionaryは無効になっています。
内部Dictionaryの更新結果にかかわらず、常に`Ok.`を返します。

<div id="reload-dictionaries">
  ## SYSTEM RELOAD DICTIONARIES
</div>

`SYSTEM RELOAD DICTIONARIES` クエリは、ステータスが `LOADED` の Dictionary ([`system.dictionaries`](/ja/reference/system-tables/dictionaries) の `status` カラムを参照) 、つまり過去に正常に読み込まれたことのある Dictionary を再読み込みします。
デフォルトでは、Dictionary は遅延読み込みされます ([dictionaries\_lazy\_load](/ja/reference/settings/server-settings/settings#dictionaries_lazy_load) を参照) 。そのため、起動時に自動で読み込まれるのではなく、[`dictGet`](/ja/reference/functions/regular-functions/ext-dict-functions#dictGet) 関数を使用したとき、または `ENGINE = Dictionary` のテーブルに対する `SELECT` による初回アクセス時に初期化されます。

**構文**

```sql theme={null}
SYSTEM RELOAD DICTIONARIES [ON CLUSTER cluster_name]
```

<div id="reload-dictionary">
  ## SYSTEM RELOAD DICTIONARY
</div>

Dictionary `dictionary_name` を、その状態 (LOADED / NOT\_LOADED / FAILED) にかかわらず完全に再読み込みします。
Dictionary の更新結果にかかわらず、常に `Ok.` を返します。

```sql theme={null}
SYSTEM RELOAD DICTIONARY [ON CLUSTER cluster_name] dictionary_name
```

Dictionary の状態は、`system.dictionaries` テーブルへのクエリで確認できます。

```sql theme={null}
SELECT name, status FROM system.dictionaries;
```

<div id="reload-models">
  ## SYSTEM RELOAD MODELS
</div>

<Note>
  このステートメントおよび `SYSTEM RELOAD MODEL` は、clickhouse-library-bridge から CatBoost モデルをアンロードするだけです。関数 `catboostEvaluate()`
  は、モデルがまだロードされていない場合、最初にアクセスされた時点でモデルをロードします。
</Note>

すべての CatBoost モデルをアンロードします。

**構文**

```sql theme={null}
SYSTEM RELOAD MODELS [ON CLUSTER cluster_name]
```

<div id="reload-model">
  ## SYSTEM RELOAD MODEL
</div>

`model_path` にある CatBoost モデルをアンロードします。

**構文**

```sql theme={null}
SYSTEM RELOAD MODEL [ON CLUSTER cluster_name] <model_path>
```

<div id="reload-functions">
  ## SYSTEM RELOAD FUNCTIONS
</div>

登録済みのすべての[実行可能なユーザー定義関数](/ja/reference/functions/regular-functions/udf#executable-user-defined-functions)、またはそのうちの1つを設定ファイルから再読み込みします。

**構文**

```sql theme={null}
SYSTEM RELOAD FUNCTIONS [ON CLUSTER cluster_name]
SYSTEM RELOAD FUNCTION [ON CLUSTER cluster_name] function_name
```

<div id="reload-asynchronous-metrics">
  ## SYSTEM RELOAD ASYNCHRONOUS METRICS
</div>

すべての[非同期メトリクス](/ja/reference/system-tables/asynchronous_metrics)を再計算します。非同期メトリクスは設定 [asynchronous\_metrics\_update\_period\_s](/ja/reference/settings/server-settings/settings) に基づいて定期的に更新されるため、通常、このステートメントで手動更新する必要はありません。

```sql theme={null}
SYSTEM RELOAD ASYNCHRONOUS METRICS [ON CLUSTER cluster_name]
```

<div id="drop-dns-cache">
  ## SYSTEM CLEAR|DROP DNS CACHE
</div>

ClickHouse の内部 DNS キャッシュをクリアします。インフラストラクチャを変更する際 (別の ClickHouse server や辞書で使用されるサーバーの IP アドレスを変更する場合) には、このコマンドが必要になることがあります (古い ClickHouse バージョンの場合) 。

より便利な (自動的な) キャッシュ管理については、`disable_internal_dns_cache`、`dns_cache_max_entries`、`dns_cache_update_period` パラメータを参照してください。

<div id="drop-mark-cache">
  ## SYSTEM CLEAR|DROP MARK CACHE
</div>

mark cache をクリアします。

<div id="drop-iceberg-metadata-cache">
  ## SYSTEM CLEAR|DROP ICEBERG METADATA CACHE
</div>

Iceberg のメタデータキャッシュをクリアします。

<div id="drop-avro-schema-cache">
  ## SYSTEM CLEAR|DROP AVRO SCHEMA CACHE
</div>

`AvroConfluent` フォーマットで使用される、URL ごとの Confluent スキーマレジストリの cache をクリアします。これにより、スキーマ取得 cache (id → schema) とスキーマ登録 cache (subject + schema → id) の両方が削除されるため、以降の読み取りと書き込みではレジストリサーバーが参照されます。これは、レジストリ側でスキーマが削除または書き換えられた場合や、テストでレジストリの冪等性を検証する際に有用です。

<div id="drop-parquet-metadata-cache">
  ## SYSTEM DROP PARQUET METADATA CACHE
</div>

Parquet のメタデータキャッシュをクリアします。

<div id="drop-text-index-caches">
  ## SYSTEM CLEAR|DROP TEXT INDEX CACHES
</div>

テキスト索引のヘッダー、辞書、ポスティングの各キャッシュをクリアします。

これらのキャッシュを個別にクリアする場合は、次を実行します。

* `SYSTEM CLEAR TEXT INDEX HEADER CACHE`,
* `SYSTEM CLEAR TEXT INDEX DICTIONARY CACHE`, または
* `SYSTEM CLEAR TEXT INDEX POSTINGS CACHE`

<div id="drop-replica">
  ## SYSTEM DROP REPLICA
</div>

`ReplicatedMergeTree` テーブルの停止したレプリカは、次の構文で削除できます。

```sql theme={null}
SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
SYSTEM DROP REPLICA 'replica_name';
SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';
```

これらのクエリを実行すると、ZooKeeper 内の `ReplicatedMergeTree` のレプリカパスが削除されます。これは、レプリカがすでに停止しており、対応するテーブルがもう存在しないために、`DROP TABLE` で ZooKeeper からそのメタデータを削除できない場合に有用です。削除できるのは非アクティブな古いレプリカのみで、ローカルレプリカは削除できません。その場合は `DROP TABLE` を使用してください。`DROP REPLICA` ではテーブルは一切削除されず、ディスク上のデータやメタデータも削除されません。

1 つ目は、`database.table` テーブルの `'replica_name'` レプリカのメタデータを削除します。
2 つ目は、データベース内のすべてのレプリケートテーブルに対して同じ処理を行います。
3 つ目は、ローカルサーバー上のすべてのレプリケートテーブルに対して同じ処理を行います。
4 つ目は、テーブルの他のすべてのレプリカが削除済みの場合に、停止したレプリカのメタデータを削除する際に役立ちます。これには、テーブルパスを明示的に指定する必要があります。このパスは、テーブル作成時に `ReplicatedMergeTree` エンジンの第 1 引数に渡したパスと同一でなければなりません。

<div id="drop-database-replica">
  ## SYSTEM DROP DATABASE REPLICA
</div>

使用不能になった `Replicated` データベースのレプリカは、次の構文で削除できます。

```sql theme={null}
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM DATABASE database;
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'];
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM ZKPATH '/path/to/table/in/zk';
```

`SYSTEM DROP REPLICA` と同様ですが、`DROP DATABASE` を実行するデータベースが存在しない場合に、ZooKeeper から `Replicated` データベースのレプリカパスを削除します。なお、`ReplicatedMergeTree` のレプリカは削除されないため、`SYSTEM DROP REPLICA` も必要になる場合があります。分片名とレプリカ名は、データベース作成時に `Replicated` エンジンの引数で指定した名前です。また、これらの名前は `system.clusters` の `database_shard_name` および `database_replica_name` カラムから取得することもできます。`FROM SHARD` 句がない場合、`replica_name` は `shard_name|replica_name` フォーマットの完全なレプリカ名でなければなりません。

<div id="drop-uncompressed-cache">
  ## SYSTEM CLEAR|DROP UNCOMPRESSED CACHE
</div>

非圧縮データcacheをクリアします。
非圧縮データcacheは、クエリ/USER/profile レベルの設定 [`use_uncompressed_cache`](/ja/reference/settings/session-settings#use_uncompressed_cache) で有効または無効にできます。
そのサイズは、サーバーレベルの設定 [`uncompressed_cache_size`](/ja/reference/settings/server-settings/settings#uncompressed_cache_size) で構成できます。

<div id="drop-compiled-expression-cache">
  ## SYSTEM CLEAR|DROP COMPILED EXPRESSION CACHE
</div>

コンパイル済み expression cache をクリアします。
コンパイル済み expression cache は、クエリ/ユーザー/プロファイルレベルの設定 [`compile_expressions`](/ja/reference/settings/session-settings#compile_expressions) で有効/無効を切り替えられます。

<div id="drop-query-condition-cache">
  ## SYSTEM CLEAR|DROP QUERY CONDITION CACHE
</div>

クエリ条件キャッシュをクリアします。

<div id="drop-query-cache">
  ## SYSTEM CLEAR|DROP QUERY CACHE
</div>

```sql theme={null}
SYSTEM CLEAR QUERY CACHE;
SYSTEM CLEAR QUERY CACHE TAG '<tag>'
```

[query cache](/ja/concepts/features/performance/caches/query-cache)をクリアします。
タグが指定されている場合は、そのタグが付いたquery cacheのエントリのみが削除されます。

<div id="system-drop-schema-format">
  ## SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE
</div>

[`format_schema_path`](/ja/reference/settings/server-settings/settings#format_schema_path) から読み込まれたスキーマのキャッシュをクリアします。

サポートされる対象:

* Protobuf: インポートされた Protobuf メッセージ定義をメモリから削除します。
* Files: `format_schema_source` が `query` に設定されているときに生成され、[`format_schema_path`](/ja/reference/settings/server-settings/settings#format_schema_path) にローカルに保存されたキャッシュ済みスキーマファイルを削除します。
  注: 対象を指定しない場合は、両方のキャッシュがクリアされます。

```sql theme={null}
SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE [FOR Protobuf/Files]
```

<div id="flush-logs">
  ## SYSTEM FLUSH LOGS
</div>

バッファされたログメッセージをシステムテーブル (例: system.query\_log) にフラッシュします。ほとんどのシステムテーブルのデフォルトのフラッシュ間隔は 7.5 秒のため、主にデバッグ用途で役立ちます。
また、メッセージキューが空の場合でもシステムテーブルが作成されます。

```sql theme={null}
SYSTEM FLUSH LOGS [ON CLUSTER cluster_name] [log_name|[database.table]] [, ...]
```

すべてをフラッシュしたくない場合は、名前またはターゲットテーブルを指定して、個別のログを 1 つ以上フラッシュできます。

```sql theme={null}
SYSTEM FLUSH LOGS query_log, system.query_views_log;
```

<div id="reload-config">
  ## SYSTEM RELOAD CONFIG
</div>

ClickHouse の設定を再読み込みします。設定が ZooKeeper に保存されている場合に使用します。`SYSTEM RELOAD CONFIG` では、ZooKeeper に保存された `USER` 設定は再読み込みされない点に注意してください。再読み込みされるのは、`users.xml` に保存された `USER` 設定のみです。すべての `USER` 設定を再読み込みするには、`SYSTEM RELOAD USERS` を使用します。

```sql theme={null}
SYSTEM RELOAD CONFIG [ON CLUSTER cluster_name]
```

<div id="reload-users">
  ## SYSTEM RELOAD USERS
</div>

users.xml、ローカルディスクのアクセスストレージ、replicated (ZooKeeper 内) のアクセスストレージを含む、すべてのアクセスストレージを再読み込みします。

```sql theme={null}
SYSTEM RELOAD USERS [ON CLUSTER cluster_name]
```

<div id="shutdown">
  ## SYSTEM の停止
</div>

通常の方法で ClickHouse を停止します (`service clickhouse-server stop` / `kill {$pid_clickhouse-server}` など)

<div id="kill">
  ## SYSTEM KILL
</div>

ClickHouse プロセスを強制終了します (`kill -9 {$ pid_clickhouse-server}` のように)

<div id="instrument">
  ## SYSTEM INSTRUMENT
</div>

`ENABLE_XRAY=1` を指定して ClickHouse をビルドした場合に利用できる LLVM の XRay 機能を使用して、インストルメンテーションポイントを管理します。
これにより、ソースコードを変更することなく、最小限のオーバーヘッドで本番環境でのデバッグやプロファイリングを行えます。
インストルメンテーションポイントが追加されていない場合、性能への影響はほぼありません。これは、200 命令を超える関数のプロローグとエピローグに、近くのアドレスへの追加ジャンプが 1 つ挿入されるだけだからです。

<div id="instrument-add">
  ### SYSTEM INSTRUMENT ADD
</div>

新しいインストルメンテーションポイントを追加します。インストルメントされた関数は、[`system.instrumentation`](/ja/reference/system-tables/instrumentation) システムテーブルで確認できます。同じ関数に複数のハンドラーを追加でき、それらはインストルメンテーションを追加した順序で実行されます。
インストルメントする関数は、[`system.symbols`](/ja/reference/system-tables/symbols) システムテーブルから取得できます。

関数に追加できるハンドラーには、3 種類あります。

**構文**

```sql theme={null}
SYSTEM INSTRUMENT ADD FUNCTION HANDLER [ARGUMENTS]
```

ここで、`FUNCTION` は `QueryMetricLog::startQuery` のような関数、またはその一部分を表し、ハンドラーは以下のいずれかです

<div id="instrument-add-log">
  #### LOG
</div>

引数として指定したテキストと、関数の `ENTRY` または `EXIT` 時点のスタックトレースを出力します。

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG ENTRY 'this is a log printed at entry'
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG EXIT 'this is a log printed at exit'
```

<div id="instrument-add-sleep">
  #### SLEEP
</div>

`ENTRY` または `EXIT` のいずれかで、一定の秒数だけスリープします:

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5
```

または、最小値と最大値を空白で区切って指定し、一様分布に従うランダムな秒数にするには:

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0 1
```

<div id="instrument-add-profile">
  #### PROFILE
</div>

関数の `ENTRY` から `EXIT` までにかかった時間を測定します。
プロファイリング結果は [`system.trace_log`](/ja/reference/system-tables/trace_log) に保存され、
[Chrome Event Trace Format](/ja/reference/system-tables/trace_log#chrome-event-trace-format) に変換できます。

```sql theme={null}
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' PROFILE
```

<div id="instrument-remove">
  ### SYSTEM INSTRUMENT REMOVE
</div>

次の方法で、単一のインストルメンテーションポイントを削除できます。

```sql theme={null}
SYSTEM INSTRUMENT REMOVE ID
```

`ALL` キーワードを使用して、これらすべてを指定できます:

```sql theme={null}
SYSTEM INSTRUMENT REMOVE ALL
```

サブクエリから得られる ID の集合:

```sql theme={null}
SYSTEM INSTRUMENT REMOVE (SELECT id FROM system.instrumentation WHERE handler = 'log')
```

または、指定したfunction\_nameに一致するすべてのインストルメンテーションポイント:

```sql theme={null}
SYSTEM INSTRUMENT REMOVE 'QueryMetricLog::startQuery'
```

インストルメンテーションポイントに関する情報は、[`system.instrumentation`](/ja/reference/system-tables/instrumentation)システムテーブルから取得できます。

<div id="managing-distributed-tables">
  ## 分散テーブルの管理
</div>

ClickHouse は[distributed](/ja/reference/engines/table-engines/special/distributed) テーブルを管理できます。ユーザーがこれらのテーブルにデータを挿入すると、ClickHouse はまずクラスターのノードに送信するデータのキューを作成し、その後それを非同期に送信します。キューの処理は、[`STOP DISTRIBUTED SENDS`](#stop-distributed-sends)、[FLUSH DISTRIBUTED](#flush-distributed)、および [`START DISTRIBUTED SENDS`](#start-distributed-sends) クエリで管理できます。また、[`distributed_foreground_insert`](/ja/reference/settings/session-settings#distributed_foreground_insert) 設定を使用して、分散データを同期的に挿入することもできます。

<div id="stop-distributed-sends">
  ### SYSTEM STOP DISTRIBUTED SENDS
</div>

分散テーブルへのデータ挿入時に行われるバックグラウンドのデータ分散処理を無効にします。

```sql theme={null}
SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]
```

<Note>
  [`prefer_localhost_replica`](/ja/reference/settings/session-settings#prefer_localhost_replica) が有効 (デフォルトで有効) な場合でも、データはローカル分片に挿入されます。
</Note>

<div id="flush-distributed">
  ### SYSTEM FLUSH DISTRIBUTED
</div>

ClickHouse がデータをクラスターのノードへ同期的に送信するよう強制します。いずれかのノードが利用できない場合、ClickHouse は例外をスローしてクエリの実行を停止します。クエリは成功するまで再試行できます。これは、すべてのノードが再びオンラインになれば成功します。

また、`SETTINGS` 句を使って一部の設定を上書きすることもできます。これは、`max_concurrent_queries_for_all_users` や `max_memory_usage` などの一時的な制限を回避するのに役立ちます。

```sql theme={null}
SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name> [ON CLUSTER cluster_name] [SETTINGS ...]
```

<Note>
  保留中の各ブロックは、最初の INSERT クエリの設定を引き継いでディスクに保存されるため、場合によってはその設定を上書きしたいことがあります。
</Note>

<div id="start-distributed-sends">
  ### SYSTEM START DISTRIBUTED SENDS
</div>

分散テーブルへのデータ挿入時に、バックグラウンドでのデータ送信を有効にします。

```sql theme={null}
SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]
```

<div id="stop-listen">
  ### SYSTEM STOP LISTEN
</div>

ソケットを閉じ、指定したプロトコルの指定ポートでサーバーへの既存の接続を正常に終了します。

ただし、対応するプロトコル設定が clickhouse-server の設定で指定されていない場合、このコマンドは効果を持ちません。

```sql theme={null}
SYSTEM STOP LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']
```

* `CUSTOM 'protocol'` modifier が指定されている場合、サーバー設定の protocols セクションで定義された、指定した名前のカスタムプロトコルが停止されます。
* `QUERIES ALL [EXCEPT .. [,..]]` modifier が指定されている場合、`EXCEPT` 句で指定されたものを除き、すべてのプロトコルが停止されます。
* `QUERIES DEFAULT [EXCEPT .. [,..]]` modifier が指定されている場合、`EXCEPT` 句で指定されたものを除き、すべてのデフォルトプロトコルが停止されます。
* `QUERIES CUSTOM [EXCEPT .. [,..]]` modifier が指定されている場合、`EXCEPT` 句で指定されたものを除き、すべてのカスタムプロトコルが停止されます。

<div id="start-listen">
  ### SYSTEM START LISTEN
</div>

指定したプロトコルで新しい接続を受け付けられるようにします。

ただし、指定したポートおよびプロトコルのサーバーが `SYSTEM STOP LISTEN` コマンドで停止されていない場合、このコマンドは何の効果もありません。

```sql theme={null}
SYSTEM START LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']
```

<div id="managing-mergetree-tables">
  ## MergeTreeテーブルの管理
</div>

ClickHouse では、[MergeTree](/ja/reference/engines/table-engines/mergetree-family/mergetree) テーブルのバックグラウンド処理を管理できます。

<div id="stop-merges">
  ### SYSTEM STOP MERGES
</div>

MergeTree familyのテーブルのバックグラウンドマージを停止できます。

```sql theme={null}
SYSTEM STOP MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]
```

<Note>
  `DETACH / ATTACH` テーブルを実行すると、たとえそれ以前にすべての MergeTree テーブルでマージが停止されていた場合でも、そのテーブルのバックグラウンドマージが開始されます。
</Note>

<div id="start-merges">
  ### SYSTEM START MERGES
</div>

MergeTree familyのテーブルでバックグラウンドマージを開始できます。

```sql theme={null}
SYSTEM START MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]
```

<div id="stop-ttl-merges">
  ### SYSTEM STOP TTL MERGES
</div>

[TTL expression](/ja/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-ttl) に基づいて古いデータを削除する、MergeTree family のテーブルに対するバックグラウンド処理を停止できます。
テーブルが存在しない場合や、テーブルが MergeTree エンジンでない場合でも `Ok.` を返します。データベースが存在しない場合はエラーを返します。

```sql theme={null}
SYSTEM STOP TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="start-ttl-merges">
  ### SYSTEM START TTL MERGES
</div>

MergeTree family のテーブルに対して、[TTL 式](/ja/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-ttl) に従った古いデータのバックグラウンド削除を開始できます。
テーブルが存在しない場合でも `Ok.` を返します。データベースが存在しない場合はエラーを返します。

```sql theme={null}
SYSTEM START TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="stop-moves">
  ### SYSTEM STOP MOVES
</div>

MergeTree family のテーブルに対して、[TTLテーブル式の TO VOLUME 句または TO DISK 句](/ja/reference/engines/table-engines/mergetree-family/mergetree#mergetree-table-ttl)に基づくバックグラウンドでのデータ移動を停止できます。
テーブルが存在しない場合でも `Ok.` を返します。データベースが存在しない場合はエラーを返します。

```sql theme={null}
SYSTEM STOP MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="start-moves">
  ### SYSTEM START MOVES
</div>

[TO VOLUME 句および TO DISK 句を含む TTL テーブル式](/ja/reference/engines/table-engines/mergetree-family/mergetree#mergetree-table-ttl)に従って、MergeTree family のテーブルに対するバックグラウンドでのデータ移動を開始できます。
テーブルが存在しない場合でも `Ok.` を返します。データベースが存在しない場合はエラーを返します。

```sql theme={null}
SYSTEM START MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]
```

<div id="query_language-system-unfreeze">
  ### SYSTEM UNFREEZE
</div>

指定した名前の凍結バックアップを、すべてのディスクから削除します。個別のパーツの凍結解除の詳細については、[ALTER TABLE table\_name UNFREEZE WITH NAME ](/ja/reference/statements/alter/partition#unfreeze-partition)を参照してください。

```sql theme={null}
SYSTEM UNFREEZE WITH NAME <backup_name>
```

<div id="wait-loading-parts">
  ### SYSTEM WAIT LOADING PARTS
</div>

テーブル内の非同期で読み込み中のすべてのデータパーツ (古いデータパーツ) が読み込み完了になるまで待機します。

```sql theme={null}
SYSTEM WAIT LOADING PARTS [ON CLUSTER cluster_name] [db.]merge_tree_family_table_name
```

<div id="managing-replicatedmergetree-tables">
  ## ReplicatedMergeTree テーブルの管理
</div>

ClickHouse では、[ReplicatedMergeTree](/ja/reference/engines/table-engines/mergetree-family/replication) テーブルに関連するバックグラウンドのレプリケーション処理を管理できます。

<div id="stop-fetches">
  ### SYSTEM STOP FETCHES
</div>

`ReplicatedMergeTree` ファミリーのテーブルで、挿入されたパーツに対するバックグラウンドフェッチを停止できます。
テーブルエンジンに関係なく、またテーブルやデータベースが存在しない場合でも、常に `Ok.` を返します。

```sql theme={null}
SYSTEM STOP FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-fetches">
  ### SYSTEM START FETCHES
</div>

`ReplicatedMergeTree` ファミリーのテーブルで、挿入されたパーツに対するバックグラウンドフェッチを開始できます。
テーブルエンジンに関係なく、またテーブルやデータベースが存在しない場合でも、常に `Ok.` を返します。

```sql theme={null}
SYSTEM START FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="stop-replicated-sends">
  ### SYSTEM STOP REPLICATED SENDS
</div>

`ReplicatedMergeTree` ファミリーのテーブルで、新たに挿入されたパーツをクラスター内の他のレプリカに送信するバックグラウンド処理を停止できます。

```sql theme={null}
SYSTEM STOP REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-replicated-sends">
  ### SYSTEM START REPLICATED SENDS
</div>

`ReplicatedMergeTree` ファミリーのテーブルについて、新しく挿入されたパーツをクラスター内の他のレプリカへバックグラウンドで送信する処理を開始できます。

```sql theme={null}
SYSTEM START REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="stop-replication-queues">
  ### SYSTEM STOP REPLICATION QUEUES
</div>

`ReplicatedMergeTree` ファミリーのテーブルについて、ZooKeeper に保存されているレプリケーションキュー内のバックグラウンド fetch タスクを停止できます。対象となるバックグラウンドタスクの種類は、merges、フェッチ、mutation、ON CLUSTER 句を含む DDL ステートメントです。

```sql theme={null}
SYSTEM STOP REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-replication-queues">
  ### SYSTEM START REPLICATION QUEUES
</div>

`ReplicatedMergeTree` ファミリーのテーブルに対して、ZooKeeper に保存されているレプリケーションキューからバックグラウンドのフェッチタスクを開始できます。実行可能なバックグラウンドタスクの種類は、マージ、フェッチ、ミューテーション、ON CLUSTER 句を伴う DDL ステートメントです:

```sql theme={null}
SYSTEM START REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="stop-pulling-replication-log">
  ### SYSTEM STOP PULLING REPLICATION LOG
</div>

`ReplicatedMergeTree` テーブルで、レプリケーションログからレプリケーションキューへの新しいエントリの取り込みを停止します。

```sql theme={null}
SYSTEM STOP PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="start-pulling-replication-log">
  ### SYSTEM START PULLING REPLICATION LOG
</div>

`SYSTEM STOP PULLING REPLICATION LOG` の効果を取り消します。

```sql theme={null}
SYSTEM START PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]
```

<div id="sync-replica">
  ### SYSTEM SYNC REPLICA
</div>

`ReplicatedMergeTree` テーブルがクラスター内の他のレプリカと同期されるまで待機します。ただし、待機時間は `receive_timeout` 秒を超えません。

```sql theme={null}
SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name [IF EXISTS] [STRICT | LIGHTWEIGHT [FROM 'srcReplica1'[, 'srcReplica2'[, ...]]] | PULL]
```

このステートメントを実行すると、`[db.]replicated_merge_tree_family_table_name` は共通の replicated log からコマンドを自身のレプリケーションキューに取り込み、その後クエリはレプリカが取り込まれたすべてのコマンドを処理し終えるまで待機します。次の修飾子がサポートされています。

* `IF EXISTS` を指定すると (25.6 以降で利用可能) 、テーブルが存在しない場合でもクエリはエラーを返しません。これは、クラスターに新しいレプリカを追加する際、そのレプリカがすでにクラスター構成の一部になっていても、まだテーブルの作成と同期の途中である場合に便利です。
* `STRICT` 修飾子を指定すると、クエリはレプリケーションキューが空になるまで待機します。`STRICT` バージョンは、レプリケーションキューに新しいエントリが継続的に現れる場合、成功しない可能性があります。
* `LIGHTWEIGHT` 修飾子を指定すると、クエリは `GET_PART`、`ATTACH_PART`、`DROP_RANGE`、`REPLACE_RANGE`、`DROP_PART` の各エントリが処理されるまでだけ待機します。
  さらに、LIGHTWEIGHT 修飾子は省略可能な `FROM 'srcReplicas'` 句をサポートしており、ここで `'srcReplicas'` はソースレプリカ名をカンマ区切りで並べたリストです。この拡張機能により、指定したソースレプリカに由来するレプリケーションタスクのみに対象を絞って、より限定的な同期を行えます。
* `PULL` 修飾子を指定すると、クエリは ZooKeeper から新しいレプリケーションキューのエントリを取得しますが、何かが処理されるのを待機することはありません。

<div id="sync-database-replica">
  ### SYNC DATABASE REPLICA
</div>

指定した[レプリケートデータベース](/ja/reference/engines/database-engines/replicated)が、そのデータベースのDDLキューにあるすべてのスキーマ変更を適用し終えるまで待機します。

**構文**

```sql theme={null}
SYSTEM SYNC DATABASE REPLICA replicated_database_name;
```

<div id="restart-replica">
  ### SYSTEM RESTART REPLICA
</div>

`ReplicatedMergeTree` テーブルの ZooKeeper セッションの状態を再初期化できます。現在の状態を正しい情報源である ZooKeeper と照合し、必要に応じてタスクを ZooKeeper のキューに追加します。
ZooKeeper のデータに基づくレプリケーションキューの初期化は、`ATTACH TABLE` ステートメントと同じ方法で行われます。短時間、テーブルは一切の操作を受け付けなくなります。

```sql theme={null}
SYSTEM RESTART REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name
```

<div id="restore-replica">
  ### SYSTEM RESTORE REPLICA
</div>

データが\[存在している可能性がある]にもかかわらず、ZooKeeper のメタデータが失われた場合にレプリカを復元します。

readonly の `ReplicatedMergeTree` テーブルでのみ動作します。

次のような場合にクエリを実行できます。

* ZooKeeper ルート `/` が失われた場合。
* レプリカのパス `/replicas` が失われた場合。
* 個々のレプリカのパス `/replicas/replica_name/` が失われた場合。

レプリカはローカルで見つかったパーツをアタッチし、それらの情報を ZooKeeper に送信します。
メタデータ消失前にレプリカ上に存在していたパーツは、古くなっていない限り、他のレプリカから再取得されません (つまり、レプリカの復元はネットワーク経由ですべてのデータを再ダウンロードすることを意味しません) 。

<Note>
  すべての状態のパーツは `detached/` フォルダーに移動されます。データ消失前にアクティブだった (コミット済みの) パーツがアタッチされます。
</Note>

<div id="restore-database-replica">
  ### SYSTEM RESTORE DATABASE REPLICA
</div>

データは\[存在している可能性がある]ものの、ZooKeeperのメタデータが失われた場合にレプリカを復元します。

**構文**

```sql theme={null}
SYSTEM RESTORE DATABASE REPLICA repl_db [ON CLUSTER cluster]
```

**例**

```sql theme={null}
CREATE DATABASE repl_db
ENGINE=Replicated("/clickhouse/repl_db", shard1, replica1);

CREATE TABLE repl_db.test_table (n UInt32)
ENGINE = ReplicatedMergeTree
ORDER BY n PARTITION BY n % 10;

-- zookeeper_delete_path("/clickhouse/repl_db", recursive=True) <- ルートの喪失。

SYSTEM RESTORE DATABASE REPLICA repl_db;
```

**構文**

```sql theme={null}
SYSTEM RESTORE REPLICA [db.]replicated_merge_tree_family_table_name [ON CLUSTER cluster_name]
```

代替構文:

```sql theme={null}
SYSTEM RESTORE REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name
```

**例**

複数のサーバーにテーブルを作成します。ZooKeeper 内のレプリカのメタデータが失われると、メタデータが不足しているため、そのテーブルは読み取り専用でアタッチされます。最後のクエリは、すべてのレプリカで実行する必要があります。

```sql theme={null}
CREATE TABLE test(n UInt32)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/test/', '{replica}')
ORDER BY n PARTITION BY n % 10;

INSERT INTO test SELECT * FROM numbers(1000);

-- zookeeper_delete_path("/clickhouse/tables/test", recursive=True) <- ルートの消失。

SYSTEM RESTART REPLICA test;
SYSTEM RESTORE REPLICA test;
```

別の方法:

```sql theme={null}
SYSTEM RESTORE REPLICA test ON CLUSTER cluster;
```

<div id="restart-replicas">
  ### SYSTEM RESTART REPLICAS
</div>

すべての `ReplicatedMergeTree` テーブルについて、ZooKeeper セッションの状態を再初期化できます。現在の状態を信頼できる情報源である ZooKeeper と比較し、必要に応じて ZooKeeper のキューにタスクを追加します

<div id="drop-filesystem-cache">
  ### SYSTEM CLEAR|DROP FILESYSTEM CACHE
</div>

ファイルシステムキャッシュをクリアできます。

```sql theme={null}
SYSTEM CLEAR FILESYSTEM CACHE [ON CLUSTER cluster_name]
```

<div id="sync-file-cache">
  ### SYSTEM SYNC FILE CACHE
</div>

<Note>
  負荷が高く、誤用されるおそれがあります。
</Note>

`sync` システムコールを実行します。

```sql theme={null}
SYSTEM SYNC FILE CACHE [ON CLUSTER cluster_name]
```

<div id="load-primary-key">
  ### SYSTEM LOAD PRIMARY KEY
</div>

指定したtable、またはすべてのtableの主キーを読み込みます。

```sql theme={null}
SYSTEM LOAD PRIMARY KEY [db.]name
```

```sql theme={null}
SYSTEM LOAD PRIMARY KEY
```

<div id="unload-primary-key">
  ### SYSTEM UNLOAD PRIMARY KEY
</div>

指定したテーブル、またはすべてのテーブルの主キーをアンロードします。

```sql theme={null}
SYSTEM UNLOAD PRIMARY KEY [db.]name
```

```sql theme={null}
SYSTEM UNLOAD PRIMARY KEY
```

<div id="managing-refreshable-materialized-views">
  ## リフレッシュ可能なマテリアライズドビューの管理
</div>

[リフレッシュ可能なマテリアライズドビュー](/ja/reference/statements/create/view#refreshable-materialized-view) が実行するバックグラウンドタスクを制御するコマンドです。

使用中は、[`system.view_refreshes`](/ja/reference/system-tables/view_refreshes) を確認してください。

<div id="stop-view-stop-views">
  ### SYSTEM STOP \[REPLICATED] VIEW, STOP VIEWS
</div>

指定したビュー、またはすべてのリフレッシュ可能なビューの定期リフレッシュを停止します。リフレッシュが進行中の場合は、それもキャンセルします。

ビューが Replicated または Shared データベースにある場合、`STOP VIEW` は現在のレプリカにのみ影響し、`STOP REPLICATED VIEW` はすべてのレプリカに影響します。

<Note>
  停止状態はサーバーの再起動後も維持されません。再起動後、ビューは設定されたリフレッシュスケジュールに従って再開されます。
  Replicated または Shared データベースでは、`SYSTEM STOP VIEW` は現在のレプリカにのみ影響します。すべてのレプリカでリフレッシュを停止するには、`SYSTEM STOP REPLICATED VIEW` を使用してください。
</Note>

```sql theme={null}
SYSTEM STOP VIEW [db.]name
```

```sql theme={null}
SYSTEM STOP VIEWS
```

<div id="start-view-start-views">
  ### SYSTEM START \[REPLICATED] VIEW, START VIEWS
</div>

指定したビュー、またはすべてのリフレッシュ可能なビューの定期的なリフレッシュを有効にします。即時にリフレッシュがトリガーされることはありません。

ビューが Replicated または Shared データベース にある場合、`START VIEW` は `STOP VIEW` の効果を打ち消し、`START REPLICATED VIEW` は `STOP REPLICATED VIEW` の効果を打ち消します。`START VIEW` は `PAUSE VIEW` の効果も打ち消します。

```sql theme={null}
SYSTEM START VIEW [db.]name
```

```sql theme={null}
SYSTEM START VIEWS
```

<div id="pause-view-pause-views">
  ### SYSTEM PAUSE VIEW, PAUSE VIEWS
</div>

指定したビュー、またはすべてのリフレッシュ可能なビューの定期的なリフレッシュを無効化します。
`SYSTEM STOP VIEW` とは異なり、`SYSTEM PAUSE VIEW` はすでに進行中のリフレッシュを中断しません。実行中のリフレッシュは完了まで継続され、以降のリフレッシュのみが停止されます。

元に戻すには、`SYSTEM START VIEW` または `SYSTEM START VIEWS` を使用します。

<Note>
  一時停止状態はサーバーの再起動後には保持されません。再起動後、ビューは設定されたリフレッシュスケジュールに従って再開されます。
  Replicated または Shared データベースでは、`SYSTEM PAUSE VIEW` は現在のレプリカにのみ影響します。
</Note>

```sql theme={null}
SYSTEM PAUSE VIEW [db.]name
```

```sql theme={null}
SYSTEM PAUSE VIEWS
```

<div id="refresh-view">
  ### SYSTEM REFRESH VIEW
</div>

指定したビューのスケジュール外の即時リフレッシュを実行します。

```sql theme={null}
SYSTEM REFRESH VIEW [db.]name
```

<div id="wait-view">
  ### SYSTEM WAIT VIEW
</div>

実行中のリフレッシュが完了するまで待機します。リフレッシュが実行されていない場合は、即座に返されます。直近のリフレッシュ試行が失敗している場合は、エラーを報告します。

新しいリフレッシャブルmaterialized view を作成した直後 (EMPTY キーワードなし) に使用して、初回のリフレッシュが完了するまで待つことができます。

ビューが Replicated または Shared データベースにあり、別のレプリカでリフレッシュが実行されている場合は、そのリフレッシュが完了するまで待機します。

```sql theme={null}
SYSTEM WAIT VIEW [db.]name
```

<div id="cancel-view">
  ### SYSTEM CANCEL VIEW
</div>

現在のレプリカ上で指定したビューのリフレッシュが進行中の場合は、それを中断してキャンセルします。進行中でない場合は何もしません。

```sql theme={null}
SYSTEM CANCEL VIEW [db.]name
```

<div id="flush-object-storage-queue">
  ## SYSTEM FLUSH OBJECT STORAGE QUEUE
</div>

指定した [S3Queue](/ja/reference/engines/table-engines/integrations/s3queue) または [AzureQueue](/ja/reference/engines/table-engines/integrations/azure-queue) テーブルで、指定したファイルの処理が完了するか、恒久的な失敗になるまで待機します。ファイルがすでに処理済みの場合は、ただちに返ります。ファイルが恒久的に失敗している場合 (すべての再試行を使い切った場合) は、エラーを返します。

```sql theme={null}
SYSTEM FLUSH OBJECT STORAGE QUEUE [db.]table_name PATH 'path'
```
