SYSTEM ステートメント
SYSTEM RELOAD EMBEDDED DICTIONARIES
すべての内部辞書を再読み込みします。
デフォルトでは、内部辞書は無効化されています。
内部辞書の更新結果に関わらず、常にOk.を返します。
SYSTEM RELOAD DICTIONARIES
以前に正常にロードされたすべてのディクショナリを再ロードします。
デフォルトでは、ディクショナリは遅延ロードされます(dictionaries_lazy_loadを参照)。そのため、起動時に自動的にロードされるのではなく、dictGet関数またはENGINE = DictionaryのテーブルからのSELECTを通じて最初にアクセスされた際に初期化されます。SYSTEM RELOAD DICTIONARIESクエリは、このようなディクショナリ(LOADED)を再ロードします。
ディクショナリの更新結果に関わらず、常にOk.を返します。
構文
SYSTEM RELOAD DICTIONARY
辞書の状態(LOADED / NOT_LOADED / FAILED)に関わらず、辞書dictionary_nameを完全に再読み込みします。
辞書の更新結果に関わらず、常にOk.を返します。
辞書のステータスは、system.dictionariesテーブルをクエリすることで確認できます。
SYSTEM RELOAD MODELS
このステートメントとSYSTEM RELOAD MODELは、clickhouse-library-bridgeからCatBoostモデルをアンロードするのみです。catboostEvaluate()関数は、モデルがまだロードされていない場合、初回アクセス時にロードします。
すべてのCatBoostモデルをアンロードします。
構文
SYSTEM RELOAD MODEL
model_pathで指定されたCatBoostモデルを再読み込みします。
構文
SYSTEM RELOAD FUNCTIONS
設定ファイルから、登録されているすべての実行可能ユーザー定義関数、またはそのいずれかを再読み込みします。
構文
SYSTEM RELOAD ASYNCHRONOUS METRICS
すべての非同期メトリクスを再計算します。非同期メトリクスはasynchronous_metrics_update_period_s設定に基づいて定期的に更新されるため、通常このステートメントを使用して手動で更新する必要はありません。
SYSTEM DROP DNS CACHE
ClickHouseの内部DNSキャッシュをクリアします。インフラストラクチャを変更する際(別のClickHouseサーバーや辞書で使用されるサーバーのIPアドレスを変更する場合など)、このコマンドの使用が必要になることがあります(古いClickHouseバージョンの場合)。
より便利な(自動的な)キャッシュ管理については、disable_internal_dns_cache、dns_cache_max_entries、dns_cache_update_periodの各パラメータを参照してください。
SYSTEM DROP MARK CACHE
マークキャッシュをクリアします。
SYSTEM DROP ICEBERG METADATA CACHE
Icebergメタデータキャッシュをクリアします。
SYSTEM DROP TEXT INDEX DICTIONARY CACHE
テキストインデックスディクショナリキャッシュをクリアします。
SYSTEM DROP TEXT INDEX HEADER CACHE
テキストインデックスヘッダーキャッシュをクリアします。
SYSTEM DROP TEXT INDEX POSTINGS CACHE
テキストインデックスのポスティングキャッシュをクリアします。
SYSTEM DROP TEXT INDEX CACHES
テキストインデックスのヘッダーキャッシュ、ディクショナリキャッシュ、およびポスティングキャッシュをクリアします。
SYSTEM DROP REPLICA
ReplicatedMergeTreeテーブルの無効なレプリカは、以下の構文を使用して削除できます:
これらのクエリは、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 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形式の完全なレプリカ名を指定する必要があります。
SYSTEM DROP UNCOMPRESSED CACHE
非圧縮データキャッシュをクリアします。
非圧縮データキャッシュの有効化/無効化は、クエリ/ユーザー/プロファイルレベルの設定use_uncompressed_cacheで行います。
キャッシュサイズは、サーバーレベルの設定uncompressed_cache_sizeで設定できます。
SYSTEM DROP COMPILED EXPRESSION CACHE
コンパイル済み式キャッシュをクリアします。
コンパイル済み式キャッシュは、クエリ/ユーザー/プロファイルレベルの設定 compile_expressions によって有効化/無効化されます。
SYSTEM DROP QUERY CONDITION CACHE
クエリ条件キャッシュをクリアします。
SYSTEM DROP QUERY CACHE
クエリキャッシュをクリアします。 タグを指定した場合、指定されたタグを持つクエリキャッシュエントリのみが削除されます。
SYSTEM DROP FORMAT SCHEMA CACHE
format_schema_pathから読み込まれたスキーマのキャッシュをクリアします。
サポートされる対象:
- Protobuf: インポートされたProtobufメッセージ定義をメモリから削除します。
- Files:
format_schema_sourceがqueryに設定されている場合に生成される、format_schema_pathにローカル保存されたキャッシュスキーマファイルを削除します。 注: 対象が指定されていない場合、両方のキャッシュがクリアされます。
SYSTEM FLUSH LOGS
バッファされたログメッセージをシステムテーブル(例: system.query_log)にフラッシュします。ほとんどのシステムテーブルはデフォルトで7.5秒のフラッシュ間隔が設定されているため、主にデバッグ用途で有用です。 メッセージキューが空の場合でも、システムテーブルが作成されます。
すべてをフラッシュする必要がない場合は、ログ名またはターゲットテーブルを指定することで、1つ以上の個別のログをフラッシュできます:
SYSTEM RELOAD CONFIG
ClickHouseの設定を再読み込みします。設定がZooKeeperに保存されている場合に使用します。なお、SYSTEM RELOAD CONFIGはZooKeeperに保存されているUSER設定は再読み込みせず、users.xmlに保存されているUSER設定のみを再読み込みします。すべてのUSER設定を再読み込みするには、SYSTEM RELOAD USERSを使用してください。
SYSTEM RELOAD USERS
users.xml、ローカルディスクアクセスストレージ、レプリケートされた(ZooKeeper内の)アクセスストレージを含む、すべてのアクセスストレージを再読み込みします。
SYSTEM SHUTDOWN
ClickHouseを正常にシャットダウンします(service clickhouse-server stop / kill {$pid_clickhouse-server} と同様の動作)
SYSTEM KILL
ClickHouseプロセスを強制終了します(kill -9 {$ pid_clickhouse-server}と同様)
分散テーブルの管理
ClickHouseは分散テーブルを管理できます。ユーザーがこれらのテーブルにデータを挿入すると、ClickHouseはまずクラスタノードに送信すべきデータのキューを作成し、その後非同期で送信します。キュー処理はSTOP DISTRIBUTED SENDS、FLUSH DISTRIBUTED、およびSTART DISTRIBUTED SENDSクエリで管理できます。また、distributed_foreground_insert設定を使用して、分散データを同期的に挿入することもできます。
SYSTEM STOP DISTRIBUTED SENDS
分散テーブルへのデータ挿入時にバックグラウンドでのデータ配信を無効にします。
prefer_localhost_replicaが有効な場合(デフォルト)、ローカルシャードへのデータは挿入されます。
SYSTEM FLUSH DISTRIBUTED
ClickHouseにクラスタノードへのデータ送信を同期的に実行させます。いずれかのノードが利用できない場合、ClickHouseは例外をスローしてクエリの実行を停止します。すべてのノードがオンラインに戻ると成功するため、成功するまでクエリを再試行できます。
SETTINGS句を使用して一部の設定を上書きすることもできます。これはmax_concurrent_queries_for_all_usersやmax_memory_usageなどの一時的な制限を回避するのに役立ちます。
各保留中のブロックは、最初のINSERTクエリの設定でディスクに保存されるため、設定を上書きしたい場合があります。
SYSTEM START DISTRIBUTED SENDS
分散テーブルへのデータ挿入時にバックグラウンドでのデータ配信を有効にします。
SYSTEM STOP LISTEN
ソケットを閉じ、指定されたポートと指定されたプロトコルでサーバーへの既存の接続を正常に終了します。
ただし、対応するプロトコル設定がclickhouse-server設定で指定されていない場合、このコマンドは効果がありません。
CUSTOM 'protocol'修飾子が指定された場合、サーバー設定のプロトコルセクションで定義された指定名のカスタムプロトコルが停止されます。QUERIES ALL [EXCEPT .. [,..]]修飾子が指定された場合、EXCEPT句で指定されない限り、すべてのプロトコルが停止されます。QUERIES DEFAULT [EXCEPT .. [,..]]修飾子が指定された場合、EXCEPT句で指定されない限り、すべてのデフォルトプロトコルが停止されます。QUERIES CUSTOM [EXCEPT .. [,..]]修飾子が指定された場合、EXCEPT句で指定されない限り、すべてのカスタムプロトコルが停止されます。
SYSTEM START LISTEN
指定されたプロトコルで新しい接続の確立を許可します。
ただし、指定されたポートとプロトコルのサーバーがSYSTEM STOP LISTENコマンドを使用して停止されていない場合、このコマンドは効果がありません。
MergeTreeテーブルの管理
ClickHouseはMergeTreeテーブルのバックグラウンドプロセスを管理できます。
SYSTEM STOP MERGES
MergeTreeファミリーのテーブルに対してバックグラウンドマージを停止する機能を提供します:
DETACH / ATTACHテーブルは、すべてのMergeTreeテーブルに対してマージが停止されていた場合でも、そのテーブルのバックグラウンドマージを開始します。
SYSTEM START MERGES
MergeTreeファミリーのテーブルに対してバックグラウンドマージを開始する機能を提供します:
SYSTEM STOP TTL MERGES
MergeTreeファミリーのテーブルに対して、TTL式に従った古いデータのバックグラウンド削除を停止する機能を提供します:
テーブルが存在しない場合やテーブルがMergeTreeエンジンでない場合でもOk.を返します。データベースが存在しない場合はエラーを返します:
SYSTEM START TTL MERGES
MergeTreeファミリーのテーブルに対して、TTL式に従った古いデータのバックグラウンド削除を開始する機能を提供します:
テーブルが存在しない場合でもOk.を返します。データベースが存在しない場合はエラーを返します:
SYSTEM STOP MOVES
MergeTreeファミリーのテーブルに対して、TO VOLUMEまたはTO DISK句を含むTTLテーブル式に従ったデータのバックグラウンド移動を停止する機能を提供します:
テーブルが存在しない場合でもOk.を返します。データベースが存在しない場合はエラーを返します:
SYSTEM START MOVES
MergeTreeファミリーのテーブルに対して、TO VOLUMEおよびTO DISK句を含むTTLテーブル式に従ったデータのバックグラウンド移動を開始する機能を提供します:
テーブルが存在しない場合でもOk.を返します。データベースが存在しない場合はエラーを返します:
SYSTEM SYSTEM UNFREEZE
すべてのディスクから指定された名前の凍結されたバックアップをクリアします。個別のパーツの凍結解除の詳細については、ALTER TABLE table_name UNFREEZE WITH NAME を参照してください
SYSTEM WAIT LOADING PARTS
テーブルの非同期でロード中のすべてのデータパーツ(古いデータパーツ)がロードされるまで待機します。
ReplicatedMergeTreeテーブルの管理
ClickHouseはReplicatedMergeTreeテーブルにおけるバックグラウンドレプリケーション関連プロセスを管理できます。
SYSTEM STOP FETCHES
ReplicatedMergeTreeファミリーのテーブルにおいて、挿入されたパーツのバックグラウンドフェッチを停止します。
テーブルエンジンに関係なく、またテーブルやデータベースが存在しない場合でも、常にOk.を返します。
SYSTEM START FETCHES
ReplicatedMergeTreeファミリーのテーブルにおいて、挿入されたパーツのバックグラウンドフェッチを開始します。
テーブルエンジンに関係なく、またテーブルやデータベースが存在しない場合でも、常にOk.を返します。
SYSTEM STOP REPLICATED SENDS
ReplicatedMergeTreeファミリーのテーブルにおいて、新しく挿入されたパーツをクラスタ内の他のレプリカへバックグラウンド送信することを停止します。
SYSTEM START REPLICATED SENDS
ReplicatedMergeTreeファミリーのテーブルにおいて、新しく挿入されたパーツをクラスタ内の他のレプリカへバックグラウンド送信することを開始します。
SYSTEM STOP REPLICATION QUEUES
ReplicatedMergeTreeファミリーのテーブルにおいて、Zookeeperに保存されているレプリケーションキューからのバックグラウンドフェッチタスクを停止します。可能なバックグラウンドタスクの種類は、マージ、フェッチ、ミューテーション、ON CLUSTER句を含むDDL文です。
SYSTEM START REPLICATION QUEUES
ReplicatedMergeTreeファミリーのテーブルにおいて、Zookeeperに保存されているレプリケーションキューからのバックグラウンドフェッチタスクを開始します。可能なバックグラウンドタスクの種類は、マージ、フェッチ、ミューテーション、ON CLUSTER句を含むDDL文です。
SYSTEM STOP PULLING REPLICATION LOG
ReplicatedMergeTreeテーブルにおいて、レプリケーションログからレプリケーションキューへの新しいエントリの読み込みを停止します。
SYSTEM START PULLING REPLICATION LOG
SYSTEM STOP PULLING REPLICATION LOGをキャンセルします。
SYSTEM SYNC REPLICA
ReplicatedMergeTreeテーブルがクラスタ内の他のレプリカと同期されるまで待機しますが、最大でreceive_timeout秒までです。
このステートメントを実行すると、[db.]replicated_merge_tree_family_table_nameは共通のレプリケーションログからコマンドを自身のレプリケーションキューにフェッチし、その後クエリはレプリカがフェッチされたすべてのコマンドを処理するまで待機します。以下の修飾子がサポートされています。
IF EXISTSを使用すると(25.6以降で利用可能)、テーブルが存在しない場合でもクエリはエラーをスローしません。これは、クラスタ設定の一部として既に含まれているが、まだテーブルの作成と同期の処理中である新しいレプリカをクラスタに追加する際に便利です。STRICT修飾子が指定された場合、クエリはレプリケーションキューが空になるまで待機します。レプリケーションキューに新しいエントリが絶えず追加される場合、STRICTバージョンは成功しない可能性があります。LIGHTWEIGHT修飾子が指定された場合、クエリはGET_PART、ATTACH_PART、DROP_RANGE、REPLACE_RANGE、DROP_PARTエントリの処理のみを待機します。 さらに、LIGHTWEIGHT修飾子はオプションのFROM 'srcReplicas'句をサポートしており、'srcReplicas'はソースレプリカ名のカンマ区切りリストです。この拡張機能により、指定されたソースレプリカから発生するレプリケーションタスクのみに焦点を当てることで、より対象を絞った同期が可能になります。PULL修飾子が指定された場合、クエリはZooKeeperから新しいレプリケーションキューエントリを取得しますが、処理の完了を待機しません。
SYNC DATABASE REPLICA
指定されたレプリケートデータベースが、そのデータベースのDDLキューからすべてのスキーマ変更を適用するまで待機します。
構文
SYSTEM RESTART REPLICA
ReplicatedMergeTreeテーブルのZooKeeperセッション状態を再初期化する機能を提供します。現在の状態を信頼できる情報源としてZooKeeperと比較し、必要に応じてZooKeeperキューにタスクを追加します。
ZooKeeperデータに基づくレプリケーションキューの初期化は、ATTACH TABLEステートメントと同じ方法で行われます。短時間、テーブルはすべての操作に対して利用できなくなります。
SYSTEM RESTORE REPLICA
データが[おそらく]存在するがZooKeeperメタデータが失われた場合に、レプリカを復元します。
読み取り専用のReplicatedMergeTreeテーブルでのみ動作します。
次の場合にクエリを実行できます:
- ZooKeeperルート
/の喪失。 - レプリカパス
/replicasの喪失。 - 個別のレプリカパス
/replicas/replica_name/の喪失。
レプリカはローカルで見つかったパートをアタッチし、それらに関する情報をZooKeeperに送信します。 メタデータ喪失前にレプリカに存在していたパートは、古くなっていない限り他のレプリカから再取得されません(したがって、レプリカの復元はネットワーク経由ですべてのデータを再ダウンロードすることを意味しません)。
すべての状態のパートはdetached/フォルダに移動されます。データ喪失前にアクティブだった(コミット済みの)パートはアタッチされます。
SYSTEM RESTORE DATABASE REPLICA
データが[おそらく]存在するがZooKeeperメタデータが失われた場合に、レプリカを復元します。
構文
例
構文
代替構文:
例
複数のサーバーでテーブルを作成します。ZooKeeperのレプリカメタデータが失われた後、メタデータが欠落しているためテーブルは読み取り専用としてアタッチされます。最後のクエリはすべてのレプリカで実行する必要があります。
別の方法:
SYSTEM RESTART REPLICAS
すべてのReplicatedMergeTreeテーブルのZooKeeperセッション状態を再初期化する機能を提供します。現在の状態を信頼できる情報源としてZooKeeperと比較し、必要に応じてZooKeeperキューにタスクを追加します
SYSTEM DROP FILESYSTEM CACHE
ファイルシステムキャッシュを削除できます。
SYSTEM SYNC FILE CACHE
この操作は負荷が高く、誤用される可能性があります。
syncシステムコールを実行します。
SYSTEM LOAD PRIMARY KEY
指定されたテーブルまたはすべてのテーブルのプライマリキーをロードします。
SYSTEM UNLOAD PRIMARY KEY
指定されたテーブルまたはすべてのテーブルのプライマリキーをアンロードします。
リフレッシュ可能なマテリアライズドビューの管理
リフレッシュ可能なマテリアライズドビューによって実行されるバックグラウンドタスクを制御するコマンド
これらを使用する際は、system.view_refreshesを監視してください。
SYSTEM REFRESH VIEW
指定されたビューのスケジュール外の即時リフレッシュをトリガーします。
SYSTEM WAIT VIEW
現在実行中のリフレッシュが完了するまで待機します。リフレッシュが失敗した場合は例外をスローします。リフレッシュが実行されていない場合は即座に完了し、前回のリフレッシュが失敗していた場合は例外をスローします。
SYSTEM STOP [REPLICATED] VIEW, STOP VIEWS
指定されたビューまたはすべてのリフレッシュ可能なビューの定期的なリフレッシュを無効にします。リフレッシュが進行中の場合は、それもキャンセルします。
ビューがReplicatedまたはSharedデータベースにある場合、STOP VIEWは現在のレプリカのみに影響し、STOP REPLICATED VIEWはすべてのレプリカに影響します。
SYSTEM START [REPLICATED] VIEW, START VIEWS
指定されたビューまたはすべてのリフレッシュ可能なビューの定期的なリフレッシュを有効にします。即時リフレッシュはトリガーされません。
ビューがReplicatedまたはSharedデータベースにある場合、START VIEWはSTOP VIEWの効果を取り消し、START REPLICATED VIEWはSTOP REPLICATED VIEWの効果を取り消します。
SYSTEM CANCEL VIEW
現在のレプリカで指定されたビューのリフレッシュが進行中の場合、それを中断してキャンセルします。それ以外の場合は何もしません。
SYSTEM WAIT VIEW
実行中のリフレッシュが完了するまで待機します。リフレッシュが実行されていない場合は即座に戻ります。最新のリフレッシュ試行が失敗した場合は、エラーを報告します。
新しいリフレッシュ可能なマテリアライズドビューを作成した直後(EMPTYキーワードなし)に使用して、初期リフレッシュが完了するまで待機できます。
ビューがReplicatedまたはSharedデータベースにあり、別のレプリカでリフレッシュが実行されている場合、そのリフレッシュが完了するまで待機します。