メインコンテンツへスキップ

SYSTEM RELOAD EMBEDDED DICTIONARIES

すべての内部Dictionaryを再読み込みします。 デフォルトでは、内部Dictionaryは無効になっています。 内部Dictionaryの更新結果にかかわらず、常にOk.を返します。

SYSTEM RELOAD DICTIONARIES

SYSTEM RELOAD DICTIONARIES クエリは、ステータスが LOADED の Dictionary (system.dictionariesstatus カラムを参照) 、つまり過去に正常に読み込まれたことのある Dictionary を再読み込みします。 デフォルトでは、Dictionary は遅延読み込みされます (dictionaries_lazy_load を参照) 。そのため、起動時に自動で読み込まれるのではなく、dictGet 関数を使用したとき、または ENGINE = Dictionary のテーブルに対する SELECT による初回アクセス時に初期化されます。 構文
SYSTEM RELOAD DICTIONARIES [ON CLUSTER cluster_name]

SYSTEM RELOAD DICTIONARY

Dictionary dictionary_name を、その状態 (LOADED / NOT_LOADED / FAILED) にかかわらず完全に再読み込みします。 Dictionary の更新結果にかかわらず、常に Ok. を返します。
SYSTEM RELOAD DICTIONARY [ON CLUSTER cluster_name] dictionary_name
Dictionary の状態は、system.dictionaries テーブルへのクエリで確認できます。
SELECT name, status FROM system.dictionaries;

SYSTEM RELOAD MODELS

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

SYSTEM RELOAD MODEL

model_path にある CatBoost モデルをアンロードします。 構文
SYSTEM RELOAD MODEL [ON CLUSTER cluster_name] <model_path>

SYSTEM RELOAD FUNCTIONS

登録済みのすべての実行可能なユーザー定義関数、またはそのうちの1つを設定ファイルから再読み込みします。 構文
SYSTEM RELOAD FUNCTIONS [ON CLUSTER cluster_name]
SYSTEM RELOAD FUNCTION [ON CLUSTER cluster_name] function_name

SYSTEM RELOAD ASYNCHRONOUS METRICS

すべての非同期メトリクスを再計算します。非同期メトリクスは設定 asynchronous_metrics_update_period_s に基づいて定期的に更新されるため、通常、このステートメントで手動更新する必要はありません。
SYSTEM RELOAD ASYNCHRONOUS METRICS [ON CLUSTER cluster_name]

SYSTEM CLEAR|DROP DNS CACHE

ClickHouse の内部 DNS キャッシュをクリアします。インフラストラクチャを変更する際 (別の ClickHouse server や辞書で使用されるサーバーの IP アドレスを変更する場合) には、このコマンドが必要になることがあります (古い ClickHouse バージョンの場合) 。 より便利な (自動的な) キャッシュ管理については、disable_internal_dns_cachedns_cache_max_entriesdns_cache_update_period パラメータを参照してください。

SYSTEM CLEAR|DROP MARK CACHE

mark cache をクリアします。

SYSTEM CLEAR|DROP ICEBERG METADATA CACHE

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

SYSTEM CLEAR|DROP AVRO SCHEMA CACHE

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

SYSTEM DROP PARQUET METADATA CACHE

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

SYSTEM CLEAR|DROP TEXT INDEX CACHES

テキスト索引のヘッダー、辞書、ポスティングの各キャッシュをクリアします。 これらのキャッシュを個別にクリアする場合は、次を実行します。
  • SYSTEM CLEAR TEXT INDEX HEADER CACHE,
  • SYSTEM CLEAR TEXT INDEX DICTIONARY CACHE, または
  • SYSTEM CLEAR TEXT INDEX POSTINGS CACHE

SYSTEM DROP REPLICA

ReplicatedMergeTree テーブルの停止したレプリカは、次の構文で削除できます。
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 引数に渡したパスと同一でなければなりません。

SYSTEM DROP DATABASE REPLICA

使用不能になった Replicated データベースのレプリカは、次の構文で削除できます。
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.clustersdatabase_shard_name および database_replica_name カラムから取得することもできます。FROM SHARD 句がない場合、replica_nameshard_name|replica_name フォーマットの完全なレプリカ名でなければなりません。

SYSTEM CLEAR|DROP UNCOMPRESSED CACHE

非圧縮データcacheをクリアします。 非圧縮データcacheは、クエリ/USER/profile レベルの設定 use_uncompressed_cache で有効または無効にできます。 そのサイズは、サーバーレベルの設定 uncompressed_cache_size で構成できます。

SYSTEM CLEAR|DROP COMPILED EXPRESSION CACHE

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

SYSTEM CLEAR|DROP QUERY CONDITION CACHE

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

SYSTEM CLEAR|DROP QUERY CACHE

SYSTEM CLEAR QUERY CACHE;
SYSTEM CLEAR QUERY CACHE TAG '<tag>'
query cacheをクリアします。 タグが指定されている場合は、そのタグが付いたquery cacheのエントリのみが削除されます。

SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE

format_schema_path から読み込まれたスキーマのキャッシュをクリアします。 サポートされる対象:
  • Protobuf: インポートされた Protobuf メッセージ定義をメモリから削除します。
  • Files: format_schema_sourcequery に設定されているときに生成され、format_schema_path にローカルに保存されたキャッシュ済みスキーマファイルを削除します。 注: 対象を指定しない場合は、両方のキャッシュがクリアされます。
SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE [FOR Protobuf/Files]

SYSTEM FLUSH LOGS

バッファされたログメッセージをシステムテーブル (例: system.query_log) にフラッシュします。ほとんどのシステムテーブルのデフォルトのフラッシュ間隔は 7.5 秒のため、主にデバッグ用途で役立ちます。 また、メッセージキューが空の場合でもシステムテーブルが作成されます。
SYSTEM FLUSH LOGS [ON CLUSTER cluster_name] [log_name|[database.table]] [, ...]
すべてをフラッシュしたくない場合は、名前またはターゲットテーブルを指定して、個別のログを 1 つ以上フラッシュできます。
SYSTEM FLUSH LOGS query_log, system.query_views_log;

SYSTEM RELOAD CONFIG

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

SYSTEM RELOAD USERS

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

SYSTEM の停止

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

SYSTEM KILL

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

SYSTEM INSTRUMENT

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

SYSTEM INSTRUMENT ADD

新しいインストルメンテーションポイントを追加します。インストルメントされた関数は、system.instrumentation システムテーブルで確認できます。同じ関数に複数のハンドラーを追加でき、それらはインストルメンテーションを追加した順序で実行されます。 インストルメントする関数は、system.symbols システムテーブルから取得できます。 関数に追加できるハンドラーには、3 種類あります。 構文
SYSTEM INSTRUMENT ADD FUNCTION HANDLER [PARAMETERS]
ここで、FUNCTIONQueryMetricLog::startQuery のような関数、またはその一部分を表し、ハンドラーは以下のいずれかです

LOG

引数として指定したテキストと、関数の ENTRY または EXIT 時点のスタックトレースを出力します。
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'

SLEEP

ENTRY または EXIT のいずれかで、一定の秒数だけスリープします:
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5
または、最小値と最大値を空白で区切って指定し、一様分布に従うランダムな秒数にするには:
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0 1

PROFILE

関数の ENTRY から EXIT までにかかった時間を測定します。 プロファイリング結果は system.trace_log に保存され、 Chrome Event Trace Format に変換できます。
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' PROFILE

SYSTEM INSTRUMENT REMOVE

次の方法で、単一のインストルメンテーションポイントを削除できます。
SYSTEM INSTRUMENT REMOVE ID
ALL パラメータを使用して、これらすべてを指定できます:
SYSTEM INSTRUMENT REMOVE ALL
サブクエリから得られる ID の集合:
SYSTEM INSTRUMENT REMOVE (SELECT id FROM system.instrumentation WHERE handler = 'log')
または、指定したfunction_nameに一致するすべてのインストルメンテーションポイント:
SYSTEM INSTRUMENT REMOVE 'QueryMetricLog::startQuery'
インストルメンテーションポイントに関する情報は、system.instrumentationシステムテーブルから取得できます。

分散テーブルの管理

ClickHouse はdistributed テーブルを管理できます。ユーザーがこれらのテーブルにデータを挿入すると、ClickHouse はまずクラスターのノードに送信するデータのキューを作成し、その後それを非同期に送信します。キューの処理は、STOP DISTRIBUTED SENDSFLUSH DISTRIBUTED、および START DISTRIBUTED SENDS クエリで管理できます。また、distributed_foreground_insert 設定を使用して、分散データを同期的に挿入することもできます。

SYSTEM STOP DISTRIBUTED SENDS

分散テーブルへのデータ挿入時に行われるバックグラウンドのデータ分散処理を無効にします。
SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]
prefer_localhost_replica が有効 (デフォルトで有効) な場合でも、データはローカル分片に挿入されます。

SYSTEM FLUSH DISTRIBUTED

ClickHouse がデータをクラスターのノードへ同期的に送信するよう強制します。いずれかのノードが利用できない場合、ClickHouse は例外をスローしてクエリの実行を停止します。クエリは成功するまで再試行できます。これは、すべてのノードが再びオンラインになれば成功します。 また、SETTINGS 句を使って一部の設定を上書きすることもできます。これは、max_concurrent_queries_for_all_usersmax_memory_usage などの一時的な制限を回避するのに役立ちます。
SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name> [ON CLUSTER cluster_name] [SETTINGS ...]
保留中の各ブロックは、最初の INSERT クエリの設定を引き継いでディスクに保存されるため、場合によってはその設定を上書きしたいことがあります。

SYSTEM START DISTRIBUTED SENDS

分散テーブルへのデータ挿入時に、バックグラウンドでのデータ送信を有効にします。
SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]

SYSTEM STOP LISTEN

ソケットを閉じ、指定したプロトコルの指定ポートでサーバーへの既存の接続を正常に終了します。 ただし、対応するプロトコル設定が clickhouse-server の設定で指定されていない場合、このコマンドは効果を持ちません。
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 句で指定されたものを除き、すべてのカスタムプロトコルが停止されます。

SYSTEM START LISTEN

指定したプロトコルで新しい接続を受け付けられるようにします。 ただし、指定したポートおよびプロトコルのサーバーが SYSTEM STOP LISTEN コマンドで停止されていない場合、このコマンドは何の効果もありません。
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']

MergeTreeテーブルの管理

ClickHouse では、MergeTree テーブルのバックグラウンド処理を管理できます。

SYSTEM STOP MERGES

MergeTree familyのテーブルのバックグラウンドマージを停止できます。
SYSTEM STOP MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]
DETACH / ATTACH テーブルを実行すると、たとえそれ以前にすべての MergeTree テーブルでマージが停止されていた場合でも、そのテーブルのバックグラウンドマージが開始されます。

SYSTEM START MERGES

MergeTree familyのテーブルでバックグラウンドマージを開始できます。
SYSTEM START MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]

SYSTEM STOP TTL MERGES

TTL expression に基づいて古いデータを削除する、MergeTree family のテーブルに対するバックグラウンド処理を停止できます。 テーブルが存在しない場合や、テーブルが MergeTree エンジンでない場合でも Ok. を返します。データベースが存在しない場合はエラーを返します。
SYSTEM STOP TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM START TTL MERGES

MergeTree family のテーブルに対して、TTL 式 に従った古いデータのバックグラウンド削除を開始できます。 テーブルが存在しない場合でも Ok. を返します。データベースが存在しない場合はエラーを返します。
SYSTEM START TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM STOP MOVES

MergeTree family のテーブルに対して、TTLテーブル式の TO VOLUME 句または TO DISK 句に基づくバックグラウンドでのデータ移動を停止できます。 テーブルが存在しない場合でも Ok. を返します。データベースが存在しない場合はエラーを返します。
SYSTEM STOP MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM START MOVES

TO VOLUME 句および TO DISK 句を含む TTL テーブル式に従って、MergeTree family のテーブルに対するバックグラウンドでのデータ移動を開始できます。 テーブルが存在しない場合でも Ok. を返します。データベースが存在しない場合はエラーを返します。
SYSTEM START MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM SYSTEM UNFREEZE

指定した名前の凍結バックアップを、すべてのディスクから削除します。個別のパーツの凍結解除の詳細については、ALTER TABLE table_name UNFREEZE WITH NAME を参照してください。
SYSTEM UNFREEZE WITH NAME <backup_name>

SYSTEM WAIT LOADING PARTS

テーブル内の非同期で読み込み中のすべてのデータパーツ (古いデータパーツ) が読み込み完了になるまで待機します。
SYSTEM WAIT LOADING PARTS [ON CLUSTER cluster_name] [db.]merge_tree_family_table_name

ReplicatedMergeTree テーブルの管理

ClickHouse では、ReplicatedMergeTree テーブルに関連するバックグラウンドのレプリケーション処理を管理できます。

SYSTEM STOP FETCHES

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

SYSTEM START FETCHES

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

SYSTEM STOP REPLICATED SENDS

ReplicatedMergeTree ファミリーのテーブルで、新たに挿入されたパーツをクラスター内の他のレプリカに送信するバックグラウンド処理を停止できます。
SYSTEM STOP REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START REPLICATED SENDS

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

SYSTEM STOP REPLICATION QUEUES

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

SYSTEM START REPLICATION QUEUES

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

SYSTEM STOP PULLING REPLICATION LOG

ReplicatedMergeTree テーブルで、レプリケーションログからレプリケーションキューへの新しいエントリの取り込みを停止します。
SYSTEM STOP PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM START PULLING REPLICATION LOG

SYSTEM STOP PULLING REPLICATION LOG の効果を取り消します。
SYSTEM START PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

SYSTEM SYNC REPLICA

ReplicatedMergeTree テーブルがクラスター内の他のレプリカと同期されるまで待機します。ただし、待機時間は receive_timeout 秒を超えません。
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_PARTATTACH_PARTDROP_RANGEREPLACE_RANGEDROP_PART の各エントリが処理されるまでだけ待機します。 さらに、LIGHTWEIGHT 修飾子は省略可能な FROM 'srcReplicas' 句をサポートしており、ここで 'srcReplicas' はソースレプリカ名をカンマ区切りで並べたリストです。この拡張機能により、指定したソースレプリカに由来するレプリケーションタスクのみに対象を絞って、より限定的な同期を行えます。
  • PULL 修飾子を指定すると、クエリは ZooKeeper から新しいレプリケーションキューのエントリを取得しますが、何かが処理されるのを待機することはありません。

SYNC DATABASE REPLICA

指定したレプリケートデータベースが、そのデータベースのDDLキューにあるすべてのスキーマ変更を適用し終えるまで待機します。 構文
SYSTEM SYNC DATABASE REPLICA replicated_database_name;

SYSTEM RESTART REPLICA

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

SYSTEM RESTORE REPLICA

データが[存在している可能性がある]にもかかわらず、ZooKeeper のメタデータが失われた場合にレプリカを復元します。 readonly の ReplicatedMergeTree テーブルでのみ動作します。 次のような場合にクエリを実行できます。
  • ZooKeeper ルート / が失われた場合。
  • レプリカのパス /replicas が失われた場合。
  • 個々のレプリカのパス /replicas/replica_name/ が失われた場合。
レプリカはローカルで見つかったパーツをアタッチし、それらの情報を ZooKeeper に送信します。 メタデータ消失前にレプリカ上に存在していたパーツは、古くなっていない限り、他のレプリカから再取得されません (つまり、レプリカの復元はネットワーク経由ですべてのデータを再ダウンロードすることを意味しません) 。
すべての状態のパーツは detached/ フォルダーに移動されます。データ消失前にアクティブだった (コミット済みの) パーツがアタッチされます。

SYSTEM RESTORE DATABASE REPLICA

データは[存在している可能性がある]ものの、ZooKeeperのメタデータが失われた場合にレプリカを復元します。 構文
SYSTEM RESTORE DATABASE REPLICA repl_db [ON CLUSTER cluster]
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;
構文
SYSTEM RESTORE REPLICA [db.]replicated_merge_tree_family_table_name [ON CLUSTER cluster_name]
代替構文:
SYSTEM RESTORE REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name
複数のサーバーにテーブルを作成します。ZooKeeper 内のレプリカのメタデータが失われると、メタデータが不足しているため、そのテーブルは読み取り専用でアタッチされます。最後のクエリは、すべてのレプリカで実行する必要があります。
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;
別の方法:
SYSTEM RESTORE REPLICA test ON CLUSTER cluster;

SYSTEM RESTART REPLICAS

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

SYSTEM CLEAR|DROP FILESYSTEM CACHE

ファイルシステムキャッシュをクリアできます。
SYSTEM CLEAR FILESYSTEM CACHE [ON CLUSTER cluster_name]

SYSTEM SYNC FILE CACHE

負荷が高く、誤用されるおそれがあります。
sync システムコールを実行します。
SYSTEM SYNC FILE CACHE [ON CLUSTER cluster_name]

SYSTEM LOAD PRIMARY KEY

指定したtable、またはすべてのtableの主キーを読み込みます。
SYSTEM LOAD PRIMARY KEY [db.]name
SYSTEM LOAD PRIMARY KEY

SYSTEM UNLOAD PRIMARY KEY

指定したテーブル、またはすべてのテーブルの主キーをアンロードします。
SYSTEM UNLOAD PRIMARY KEY [db.]name
SYSTEM UNLOAD PRIMARY KEY

リフレッシュ可能なマテリアライズドビューの管理

リフレッシュ可能なマテリアライズドビュー が実行するバックグラウンドタスクを制御するコマンドです。 使用中は、system.view_refreshes を確認してください。

SYSTEM STOP [REPLICATED] VIEW, STOP VIEWS

指定したビュー、またはすべてのリフレッシュ可能なビューの定期リフレッシュを停止します。リフレッシュが進行中の場合は、それもキャンセルします。 ビューが Replicated または Shared データベースにある場合、STOP VIEW は現在のレプリカにのみ影響し、STOP REPLICATED VIEW はすべてのレプリカに影響します。
停止状態はサーバーの再起動後も維持されません。再起動後、ビューは設定されたリフレッシュスケジュールに従って再開されます。 Replicated または Shared データベースでは、SYSTEM STOP VIEW は現在のレプリカにのみ影響します。すべてのレプリカでリフレッシュを停止するには、SYSTEM STOP REPLICATED VIEW を使用してください。
SYSTEM STOP VIEW [db.]name
SYSTEM STOP VIEWS

SYSTEM START [REPLICATED] VIEW, START VIEWS

指定したビュー、またはすべてのリフレッシュ可能なビューの定期的なリフレッシュを有効にします。即時にリフレッシュがトリガーされることはありません。 ビューが Replicated または Shared データベース にある場合、START VIEWSTOP VIEW の効果を打ち消し、START REPLICATED VIEWSTOP REPLICATED VIEW の効果を打ち消します。START VIEWPAUSE VIEW の効果も打ち消します。
SYSTEM START VIEW [db.]name
SYSTEM START VIEWS

SYSTEM PAUSE VIEW, PAUSE VIEWS

指定したビュー、またはすべてのリフレッシュ可能なビューの定期的なリフレッシュを無効化します。 SYSTEM STOP VIEW とは異なり、SYSTEM PAUSE VIEW はすでに進行中のリフレッシュを中断しません。実行中のリフレッシュは完了まで継続され、以降のリフレッシュのみが停止されます。 元に戻すには、SYSTEM START VIEW または SYSTEM START VIEWS を使用します。
一時停止状態はサーバーの再起動後には保持されません。再起動後、ビューは設定されたリフレッシュスケジュールに従って再開されます。 Replicated または Shared データベースでは、SYSTEM PAUSE VIEW は現在のレプリカにのみ影響します。
SYSTEM PAUSE VIEW [db.]name
SYSTEM PAUSE VIEWS

SYSTEM REFRESH VIEW

指定したビューのスケジュール外の即時リフレッシュを実行します。
SYSTEM REFRESH VIEW [db.]name

SYSTEM WAIT VIEW

実行中のリフレッシュが完了するまで待機します。リフレッシュが実行されていない場合は、即座に返されます。直近のリフレッシュ試行が失敗している場合は、エラーを報告します。 新しいリフレッシャブルmaterialized view を作成した直後 (EMPTY キーワードなし) に使用して、初回のリフレッシュが完了するまで待つことができます。 ビューが Replicated または Shared データベースにあり、別のレプリカでリフレッシュが実行されている場合は、そのリフレッシュが完了するまで待機します。
SYSTEM WAIT VIEW [db.]name

SYSTEM CANCEL VIEW

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

SYSTEM FLUSH OBJECT STORAGE QUEUE

指定した S3Queue または AzureQueue テーブルで、指定したファイルの処理が完了するか、恒久的な失敗になるまで待機します。ファイルがすでに処理済みの場合は、ただちに返ります。ファイルが恒久的に失敗している場合 (すべての再試行を使い切った場合) は、エラーを返します。
SYSTEM FLUSH OBJECT STORAGE QUEUE [db.]table_name PATH 'path'
最終更新日 2026年6月10日