ClickHouse/docs/ja/sql-reference/statements/system.md
2024-11-18 11:58:58 +09:00

28 KiB
Raw Blame History

slug sidebar_position sidebar_label
/ja/sql-reference/statements/system 36 SYSTEM

SYSTEM ステートメント

RELOAD EMBEDDED DICTIONARIES

すべての内部 Dictionaryをリロードします。デフォルトでは、内部 Dictionary は無効になっています。内部 Dictionary の更新結果に関わらず、常に Ok. を返します。

RELOAD DICTIONARIES

以前に成功してロードされたすべての Dictionary をリロードします。デフォルトでは、Dictionary は遅延ロードされます(dictionaries_lazy_load を参照してください。したがって、起動時に自動的にロードされるのではなく、dictGet 関数や ENGINE = Dictionary を持つテーブルからの SELECT を通して初めてアクセスされる時に初期化されます。SYSTEM RELOAD DICTIONARIES クエリは、そのような (LOADED) Dictionary をリロードします。Dictionary の更新結果に関わらず、常に Ok. を返します。

構文

SYSTEM RELOAD DICTIONARIES [ON CLUSTER cluster_name]

RELOAD DICTIONARY

dictionary_name を Dictionary の状態 (LOADED / NOT_LOADED / FAILED) に関わらず完全にリロードします。Dictionary の更新結果に関わらず、常に Ok. を返します。

SYSTEM RELOAD DICTIONARY [ON CLUSTER cluster_name] dictionary_name

Dictionary の状態は system.dictionaries テーブルをクエリすることで確認できます。

SELECT name, status FROM system.dictionaries;

RELOAD MODELS

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

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

構文

SYSTEM RELOAD MODELS [ON CLUSTER cluster_name]

RELOAD MODEL

指定された model_path の CatBoost モデルをアンロードします。

構文

SYSTEM RELOAD MODEL [ON CLUSTER cluster_name] <model_path>

RELOAD FUNCTIONS

登録されたすべての実行可能なユーザー定義関数またはそれらの1つを設定ファイルからリロードします。

構文

RELOAD FUNCTIONS [ON CLUSTER cluster_name]
RELOAD FUNCTION [ON CLUSTER cluster_name] function_name

RELOAD ASYNCHRONOUS METRICS

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

RELOAD ASYNCHRONOUS METRICS [ON CLUSTER cluster_name]

DROP DNS CACHE

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

キャッシュの管理をより便利自動化にするために、disable_internal_dns_cache, dns_cache_max_entries, dns_cache_update_periodパラメータを参照してください。

DROP MARK CACHE

マークキャッシュをクリアします。

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';

クエリは ReplicatedMergeTree レプリカ パスを ZooKeeper から削除します。レプリカがデッド状態でメタデータが ZooKeeper から DROP TABLE によって削除されない場合などに役立ちます。非アクティブ/古いレプリカのみを削除し、ローカルレプリカを削除することはできません。これには DROP TABLE を使用してください。DROP REPLICA はテーブルを削除せず、ディスクからデータやメタデータを削除しません。

最初のものは、database.table テーブルの 'replica_name' レプリカのメタデータを削除します。 2 番目のものは、データベース内のすべての複製テーブルについて同じ操作を実行します。 3 番目のものは、ローカル サーバー上のすべての複製テーブルについて同じ操作を行います。 4 番目は、テーブルの他のすべてのレプリカが削除されたときにデッドレプリカのメタデータを削除するのに便利です。作成時の ReplicatedMergeTree エンジンの最初の引数に指定したのと同じパスである必要があります。

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 フォーマットの完全なレプリカ名である必要があります。

DROP UNCOMPRESSED CACHE

非圧縮データキャッシュをクリアします。非圧縮データキャッシュは、クエリ/ユーザー/プロファイルレベルの設定 use_uncompressed_cache で有効化/無効化されます。サーバーレベルの設定 uncompressed_cache_size を使用してそのサイズを構成できます。

DROP COMPILED EXPRESSION CACHE

コンパイルされた式キャッシュをクリアします。コンパイルされた式キャッシュは、クエリ/ユーザー/プロファイルレベルの設定 compile_expressions で有効化/無効化されます。

DROP QUERY CACHE

SYSTEM DROP QUERY CACHE;
SYSTEM DROP QUERY CACHE TAG '<tag>'

クエリキャッシュをクリアします。タグが指定された場合、指定されたタグを持つクエリキャッシュエントリのみが削除されます。

DROP FORMAT SCHEMA CACHE

format_schema_path からロードされたスキーマのキャッシュをクリアします。

サポートされているフォーマット:

  • Protobuf
SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf]

FLUSH LOGS

バッファされたログメッセージをシステムテーブル(例: system.query_logにフラッシュします。ほとんどのシステムテーブルはデフォルトでフラッシュ間隔が7.5秒に設定されているため、デバッグに役立ちます。 メッセージキューが空でもシステムテーブルを作成します。

SYSTEM FLUSH LOGS [ON CLUSTER cluster_name]

RELOAD CONFIG

ClickHouseの設定をリロードします。設定がZooKeeperに保存されている場合に使用されます。SYSTEM RELOAD CONFIG はZooKeeperに保存されたUSER 設定をリロードせず、users.xml に保存されたUSER 設定のみをリロードします。すべてのUSER 設定をリロードするには SYSTEM RELOAD USERS を使用します。

SYSTEM RELOAD CONFIG [ON CLUSTER cluster_name]

RELOAD USERS

すべてのアクセスストレージをリロードします。含まれるのは: users.xml、ローカルディスクアクセスストレージ、ZooKeeperでレプリケートされたアクセスストレージです。

SYSTEM RELOAD USERS [ON CLUSTER cluster_name]

SHUTDOWN

ClickHouseを正常にシャットダウンしますservice clickhouse-server stop / kill {$pid_clickhouse-server} のように)。

KILL

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

分散テーブルの管理

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

STOP DISTRIBUTED SENDS

分散テーブルにデータを挿入する際のバックグラウンドデータ分散を無効化します。

SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]

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 ...]

:::note 保留中の各ブロックは、初期の INSERT クエリからの設定を使用してディスクに保存されます。そのため、設定を上書きしたい場合があります。 :::

START DISTRIBUTED SENDS

分散テーブルにデータを挿入する際のバックグラウンドデータ分散を有効にします。

SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]

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' 修飾子が指定されている場合、サーバー構成のプロトコルセクションで指定されたカスタムプロトコルが停止されます。
  • QUERIES ALL [EXCEPT .. [,..]] 修飾子が指定されている場合、EXCEPT 句で指定されたものを除き、すべてのプロトコルが停止されます。
  • QUERIES DEFAULT [EXCEPT .. [,..]] 修飾子が指定されている場合、EXCEPT 句で指定されたものを除き、すべてのデフォルトプロトコルが停止されます。
  • QUERIES CUSTOM [EXCEPT .. [,..]] 修飾子が指定されている場合、EXCEPT 句で指定されたものを除き、すべてのカスタムプロトコルが停止されます。

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 テーブルのバックグラウンドプロセスを管理できます。

STOP MERGES

MergeTree ファミリ内のテーブルに対するバックグラウンド マージを停止する機能を提供します。

SYSTEM STOP MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]

:::note テーブルを DETACH / ATTACH すると、以前にすべての MergeTree テーブルに対してマージが停止されていた場合でも、テーブルに対してバックグラウンド マージが開始されます。 :::

START MERGES

MergeTree ファミリ内のテーブルに対するバックグラウンド マージを開始する機能を提供します。

SYSTEM START MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]

STOP TTL MERGES

MergeTree ファミリのテーブルに対して 有効期限 (TTL) 式 に従って古いデータをバックグラウンドで削除することを停止する機能を提供します。 テーブルが存在しない場合でも Ok. を返しますが、データベースが存在しない場合はエラーを返します。

SYSTEM STOP TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

START TTL MERGES

MergeTree ファミリのテーブルに対して 有効期限 (TTL) 式 に従って古いデータをバックグラウンドで削除を開始する機能を提供します。 テーブルが存在しない場合でも Ok. を返します。データベースが存在しない場合はエラーを返します。

SYSTEM START TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

STOP MOVES

MergeTree ファミリのテーブルに対して TO VOLUME または TO DISK 句を伴う TTL テーブル式 に従ってデータをバックグラウンドで移動することを停止する機能を提供します。 テーブルが存在しない場合でも Ok. を返します。データベースが存在しない場合はエラーを返します。

SYSTEM STOP MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

START MOVES

MergeTree ファミリのテーブルに対して TO VOLUME または TO DISK 句を伴う TTL テーブル式 に従ってデータをバックグラウンドで移動を開始する機能を提供します。 テーブルが存在しない場合でも Ok. を返します。データベースが存在しない場合はエラーを返します。

SYSTEM START MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]

SYSTEM UNFREEZE

指定された名前のフリーズされたバックアップをすべてのディスクからクリアします。ALTER TABLE table_name UNFREEZE WITH NAME で個々のパーツのアンフリーズについて詳しく学べます。

SYSTEM UNFREEZE WITH NAME <backup_name>

WAIT LOADING PARTS

テーブルのすべての非同期でロードされているデータパーツ(古いデータパーツ)がロードされるまで待機します。

SYSTEM WAIT LOADING PARTS [ON CLUSTER cluster_name] [db.]merge_tree_family_table_name

ReplicatedMergeTree テーブルの管理

ClickHouse は ReplicatedMergeTree テーブルの背景レプリケーション関連プロセスを管理できます。

STOP FETCHES

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

SYSTEM STOP FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

START FETCHES

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

SYSTEM START FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

STOP REPLICATED SENDS

ReplicatedMergeTree ファミリ内のテーブルに対する新しく挿入されたパーツを他のレプリカにバックグラウンドで送信することを停止できる機能を提供します。

SYSTEM STOP REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

START REPLICATED SENDS

ReplicatedMergeTree ファミリ内のテーブルに対する新しく挿入されたパーツを他のレプリカにバックグラウンドで送信を開始する機能を提供します。

SYSTEM START REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

STOP REPLICATION QUEUES

ReplicatedMergeTree ファミリのテーブルに対して ZooKeeper に格納されているレプリケーション キューからのバックグラウンド フェッチ タスクマージ、フェッチ、ミューテーション、ON CLUSTER 句を含む DDL ステートメント)を停止する機能を提供します。

SYSTEM STOP REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

START REPLICATION QUEUES

ReplicatedMergeTree ファミリのテーブルに対して ZooKeeper に格納されているレプリケーション キューからのバックグラウンド スタスクマージ、フェッチ、ミューテーション、ON CLUSTER 句を含む DDL ステートメント)を開始する機能を提供します。

SYSTEM START REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

STOP PULLING REPLICATION LOG

ReplicatedMergeTree テーブルのレプリケーション キューに新しいエントリを追加することから、新しいエントリのロードを停止します。

SYSTEM STOP PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]

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]

SYNC REPLICA

ReplicatedMergeTree テーブルがクラスター内の他のレプリカと同期するまで待機しますが、receive_timeout 秒を超えてはなりません。

SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name [STRICT | LIGHTWEIGHT [FROM 'srcReplica1'[, 'srcReplica2'[, ...]]] | PULL]

このステートメントを実行すると、[db.]replicated_merge_tree_family_table_name は ZooKeeper の一般的なレプリケートログからエントリを取得してその独自のレプリケーション キューに追加し、クエリは取得されたコマンドがすべて処理されるまで待機します。サポートされている修飾子は次のとおりです:

  • STRICT 修飾子が指定された場合、クエリはレプリケーション キューが空になるまで待機します。STRICT バージョンは、レプリケーション キューに新しいエントリが常に表示される場合、成功しない可能性があります。
  • LIGHTWEIGHT 修飾子が指定された場合、クエリは GET_PART, ATTACH_PART, DROP_RANGE, REPLACE_RANGE および DROP_PART エントリの処理のみを待ちます。また、LIGHTWEIGHT 修飾子はオプションの FROM 'srcReplicas' 句をサポートしています。'srcReplicas'はカンマで区切られたソース レプリカ名のリストです。この拡張により、指定されたソース レプリカからのレプリケーション タスクのみに焦点を当てることで、より対象を絞った同期を実現できます。
  • PULL 修飾子が指定された場合、クエリは ZooKeeper から新しいレプリケーション キュー エントリを取得しますが、何も処理待ちしません。

SYNC DATABASE REPLICA

指定されたレプリケートデータベース がそのデータベースの DDL キューからすべてのスキーマ変更を適用するまで待機します。

構文

SYSTEM SYNC DATABASE REPLICA replicated_database_name;

RESTART REPLICA

ReplicatedMergeTree テーブルの ZooKeeper セッションの状態を再初期化し、Zookeeper をソースとした現在の状態を比較し、必要に応じて Zookeeper キューにタスクを追加する機能を提供します。 レプリケーション キューの ZooKeeper データに基づく初期化は、ATTACH TABLE ステートメントの場合と同様に行われます。短時間、テーブルがすべての操作に対して利用できなくなります。

SYSTEM RESTART REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name

RESTORE REPLICA

データが [潜在的に] 存在するが Zookeeper メタデータが失われている場合に、レプリカを復元します。

読み取り専用 ReplicatedMergeTree テーブルでのみ機能します。

クエリは次の後に実行できます:

  • ZooKeeper ルート / の損失。
  • レプリカのパス /replicas の損失。
  • 個々のレプリカのパス /replicas/replica_name/ の損失。

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

:::note すべての状態のパーツは detached/ フォルダに移動されます。データ損失前にアクティブだったパーツ(コミットされた)はアタッチされます。 :::

構文

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) <- root loss.

SYSTEM RESTART REPLICA test;
SYSTEM RESTORE REPLICA test;

別の方法:

SYSTEM RESTORE REPLICA test ON CLUSTER cluster;

RESTART REPLICAS

すべての ReplicatedMergeTree テーブルの ZooKeeper セッションの状態を再初期化し、Zookeeper をソースとした現在の状態と比較して必要に応じて Zookeeper キューにタスクを追加する機能を提供します。

DROP FILESYSTEM CACHE

ファイルシステム キャッシュを削除することが可能です。

SYSTEM DROP FILESYSTEM CACHE [ON CLUSTER cluster_name]

SYNC FILE CACHE

:::note それは非常に重いものであり、誤用の可能性があります。 :::

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

SYSTEM SYNC FILE CACHE [ON CLUSTER cluster_name]

UNLOAD PRIMARY KEY

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

SYSTEM UNLOAD PRIMARY KEY [db.]name
SYSTEM UNLOAD PRIMARY KEY

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

リフレッシュ可能なマテリアライズドビュー によって実行されるバックグラウンドタスクを制御するコマンド。

それらを使用する際は system.view_refreshes を監視してください。

REFRESH VIEW

指定されたビューのスケジュール外の即時更新をトリガーします。

SYSTEM REFRESH VIEW [db.]name

REFRESH VIEW

現在実行中の更新が完了するのを待ちます。更新が失敗した場合は、例外をスローします。更新が実行中でない場合は直ちに完了し、前回の更新が失敗した場合は例外をスローします。

STOP VIEW, STOP VIEWS

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

SYSTEM STOP VIEW [db.]name
SYSTEM STOP VIEWS

START VIEW, START VIEWS

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

SYSTEM START VIEW [db.]name
SYSTEM START VIEWS

CANCEL VIEW

指定されたビューの更新が進行中の場合、それを中断してキャンセルします。それ以外の場合は何もしません。

SYSTEM CANCEL VIEW [db.]name

SYSTEM WAIT VIEW

実行中の更新が完了するのを待ちます。更新が実行中でない場合は直ちに戻ります。最新の更新試行が失敗した場合は、エラーを報告します。

新しいリフレッシュ可能なマテリアライズドビューEMPTYキーワードなしを作成した直後に使用して、初回の更新が完了するのを待つことができます。

SYSTEM WAIT VIEW [db.]name