mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 16:42:05 +00:00
7.2 KiB
7.2 KiB
slug | sidebar_position |
---|---|
/ja/native-protocol/client | 2 |
クライアントパケット
値 | 名前 | 説明 |
---|---|---|
0 | Hello | クライアントハンドシェイク開始 |
1 | Query | クエリリクエスト |
2 | Data | データを含むブロック |
3 | Cancel | クエリをキャンセル |
4 | Ping | Pingリクエスト |
5 | TableStatus | テーブルステータスリクエスト |
Data
は圧縮可能です。
Hello
たとえば、Go Client
v1.10で54451
プロトコルバージョンをサポートし、default
データベースにdefault
ユーザーでsecret
パスワードを使って接続したい場合です。
フィールド | タイプ | 値 | 説明 |
---|---|---|---|
client_name | String | "Go Client" |
クライアント実装名 |
version_major | UVarInt | 1 |
クライアントメジャーバージョン |
version_minor | UVarInt | 10 |
クライアントマイナーバージョン |
protocol_version | UVarInt | 54451 |
TCPプロトコルバージョン |
database | String | "default" |
データベース名 |
username | String | "default" |
ユーザー名 |
password | String | "secret" |
パスワード |
プロトコルバージョン
プロトコルバージョンはクライアント側のTCPプロトコルバージョンです。
通常は最新の互換性のあるサーバーリビジョンと同じですが、これと混同しないでください。
デフォルト
すべての値は明示的に設定する必要があります。サーバー側にデフォルト値はありません。クライアント側では、デフォルトとして"default"
データベース、"default"
ユーザー名、および""
(空の文字列)パスワードを使用します。
クエリ
フィールド | タイプ | 値 | 説明 |
---|---|---|---|
query_id | String | 1ff-a123 |
クエリID, UUIDv4可能 |
client_info | ClientInfo | タイプを参照 | クライアントに関するデータ |
settings | Settings | タイプを参照 | 設定のリスト |
secret | String | secret |
サーバー間の秘密 |
stage | UVarInt | 2 |
クエリステージまで実行 |
compression | UVarInt | 0 |
無効=0、有効=1 |
body | String | SELECT 1 |
クエリテキスト |
クライアント情報
フィールド | タイプ | 説明 |
---|---|---|
query_kind | byte | None=0, Initial=1, Secondary=2 |
initial_user | String | 初期ユーザー |
initial_query_id | String | 初期クエリID |
initial_address | String | 初期アドレス |
initial_time | Int64 | 初期時間 |
interface | byte | TCP=1, HTTP=2 |
os_user | String | OSユーザー |
client_hostname | String | クライアントホスト名 |
client_name | String | クライアント名 |
version_major | UVarInt | クライアントメジャーバージョン |
version_minor | UVarInt | クライアントマイナーバージョン |
protocol_version | UVarInt | クライアントプロトコルバージョン |
quota_key | String | クオータキー |
distributed_depth | UVarInt | 分散深度 |
version_patch | UVarInt | クライアントパッチバージョン |
otel | Bool | トレースフィールドの有無 |
trace_id | FixedString(16) | トレースID |
span_id | FixedString(8) | スパンID |
trace_state | String | トレース状態 |
trace_flags | Byte | トレースフラグ |
設定
フィールド | タイプ | 値 | 説明 |
---|---|---|---|
key | String | send_logs_level |
設定のキー |
value | String | trace |
設定の値 |
important | Bool | true |
無視可能かどうか |
リストとしてエンコードされ、キーと値が空の場合はリストの終わりを示します。
ステージ
値 | 名前 | 説明 |
---|---|---|
0 | FetchColumns | カラムタイプのみ取得 |
1 | WithMergeableState | マージ可能な状態まで |
2 | Complete | 完全な完了まで(デフォルトが推奨) |
データ
フィールド | タイプ | 説明 |
---|---|---|
info | BlockInfo | エンコードされたブロック情報 |
columns | UVarInt | カラム数 |
rows | UVarInt | 行数 |
columns | []Column | データを含むカラム |
カラム
フィールド | タイプ | 値 | 説明 |
---|---|---|---|
name | String | foo |
カラム名 |
type | String | DateTime64(9) |
カラムタイプ |
data | bytes | ~ | カラムデータ |
キャンセル
パケットボディなし。サーバーはクエリをキャンセルする必要があります。
ピング
パケットボディなし。サーバーはpongで応答する必要があります。