Mac 用 ClickHouse クライアント
ClickHouse の HTTP インターフェイスで分析 SQL を実行し、クエリのプラン、パイプラインや推定行数を確認できます。テーブルの Parts タブでは MergeTree のパーツとパーティションを管理します。長いクエリは実行中に読み取った行数を報告し、Stop はサーバー上で停止します。
Mac で使用可能Mac アプリにドライバー同梱


概要
- クエリ言語
- SQL
- ドライバー
- Mac アプリに同梱
- 接続方法
- ホストとポート, SSH トンネル, SSL/TLS
- 既定のポート
- 8123
- iPhone と iPad
- 開けない
接続
ホスト、HTTP ポート、ユーザーと、必要ならデータベースを指定します。データベースはその場で切り替え、既存タブは開いたときのデータベースに留まります。View > Sidebar as Tree でサーバーのデータベースを展開できるツリーとして表示します。
SSL モードを選ぶと HTTPS に切り替わります。443 または ClickHouse Cloud の 8443 ポートは Verify Identity を有効にし、CA ファイルまたはシステムの信頼ストアで証明書を検証します。Verify CA は CA ファイルが必要です。クライアント証明書と鍵で相互 TLS が必要なサーバーに接続できます。
TLS なしではネットワーク上に平文 HTTP を送る代わりに、SSH トンネル 経由でリモートサーバーに接続してください。
クエリと編集
各クエリは固有の ID を持ち、進捗を要求するため、長いクエリも読み取った行数を随時報告します。Stop はその ID の KILL QUERY を送り、接続のクエリタイムアウトもサーバーに伝わります。
Explain メニュー は Plan、Pipeline、AST、Syntax、Estimate を提供します。字下げされた出力を図やツリーにし、Estimate ではクエリが読む予定の行、マークとパーツを示します。
グリッドの編集は Preview SQL を確認後、INSERT、ALTER TABLE … UPDATE と ALTER TABLE … DELETE で送ります。ClickHouse は更新と削除をバックグラウンドミューテーションとして実行するため、保存は受付済みであり適用済みではありません。system.mutations で進捗を確認できます。マテリアライズドビューは読み取り専用です。
ClickHouse の point や ring タプルを含む結果は 地図ビュー で開けます。独自の FORMAT 句を持つクエリはサーバーの生の出力を一つのカラムに表示するため、グリッド表示には句を省いてください。
テーブル、パーツとパーティション
テーブルには Structure、Indexes、DDL、Parts タブがあります。Indexes はソートキーとデータスキップインデックスを示し、DDL はエンジンと設定を含む完全な CREATE TABLE を表示します。
Parts は system.parts のすべてのパーツを、パーティション、行数、ディスクサイズ、変更日時と active フラグとともに表示し、Optimize、Drop Partition、Detach Partition を実行できます。
Structure タブ はカラムの追加・変更・削除とデータスキップインデックスの削除に対応します。ソートキーと主キーは作成時に固定されるため、データスキップインデックスは ALTER TABLE … ADD INDEX で追加し、他の変更にはテーブルを再作成します。
監視
Server Dashboard は実行中クエリ、マージ、パーツのミューテーションとディスク使用量を表示し、他のセッションを Terminate Session とともに一覧表示します。遅いクエリは system.query_log の、直近で終了して一秒以上かかったクエリから取得します。
データの移動
インポート で CSV、TSV、JSON、JSONL、XLSXとSQL ファイルを読み込み、テーブルやクエリ結果を CSV、JSON、SQL、XLSX、Markdown、HTMLとXML にエクスポートします。一つでも無効な UTF-8 値を含むカラムはグリッドで 16 進表示します。テキストで読むには toValidUTF8(column) を SELECT してください。
iPhone と iPad
iPhone と iPad アプリには ClickHouse ドライバーがありません。Mac から同期した ClickHouse 接続は一覧に表示しますが、開けません。
制限
- ClickHouse の HTTP インターフェースで接続します。ネイティブ TCP プロトコルは使いません。
- TLS は初期設定ではオフです。HTTPS を使うには接続フォームで SSL モードを選んでください。
- 外部キーとトランザクションはありません。
- SET 文の設定は次のクエリに引き継がれません。
ClickHouse に関する質問
一つのクエリだけ設定を変更するには?
SELECT … SETTINGS max_threads = 4 など、クエリ自体に SETTINGS 句を入れます。各文はセッションのない独立した HTTP リクエストなので、別の SET は次の文まで残りません。
ポート 9000 で接続できないのはなぜですか?
9000 は ClickHouse のネイティブ TCP ポートで、TablePro は使いません。HTTP ポート、または ClickHouse Cloud の HTTPS 8443 に接続し、HTTP インターフェイスが有効か確認してください。そのポートの /ping リクエストは Ok. と返します。
TablePro を入手
macOS 13 Ventura 以降 が必要です