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

SHOW ステートメント

注記

SHOW CREATE (TABLE|DATABASE|USER) は、次の設定が有効化されていない限りシークレットを非表示にします:

さらに、ユーザーは displaySecretsInShowAndSelect 権限を持っている必要があります。

SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE

これらのステートメントは、指定したオブジェクトの作成に使用された CREATE クエリを含む、String 型の単一列を返します。

構文

SHOW [CREATE] TABLE | TEMPORARY TABLE | DICTIONARY | VIEW | DATABASE [db.]table|view [INTO OUTFILE filename] [FORMAT format]
注記

このステートメントを使用してシステムテーブルの CREATE クエリを取得しようとすると、 テーブル構造だけを定義していてテーブルの作成には使用できない 擬似的な クエリが返されます。

SHOW DATABASES

このステートメントは、すべてのデータベースを一覧表示します。

構文

SHOW DATABASES [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]

これは次のクエリと同じです:

SELECT name FROM system.databases [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE filename] [FORMAT format]

この例では、SHOW を使用して、名前に文字列 'de' を含むデータベース名を取得します。

SHOW DATABASES LIKE '%de%'
┌─name────┐
│ default │
└─────────┘

大文字小文字を区別しない形で行うこともできます。

SHOW DATABASES ILIKE '%DE%'
┌─name────┐
│ default │
└─────────┘

または、名前に 'de' を含まないデータベース名を取得します:

SHOW DATABASES NOT LIKE '%de%'
┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ system                         │
│ test                           │
│ tutorial                       │
└────────────────────────────────┘

最後に、最初の 2 つのデータベース名のみを取得します。

SHOW DATABASES LIMIT 2
┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ default                        │
└────────────────────────────────┘

関連項目

SHOW TABLES

SHOW TABLES ステートメントは、テーブルの一覧を表示します。

構文

SHOW [FULL] [TEMPORARY] TABLES [{FROM | IN} <db>] [[NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

FROM 句が指定されていない場合、クエリは現在のデータベース内のテーブルの一覧を返します。

このステートメントは次のクエリと同一です。

SELECT name FROM system.tables [WHERE name [NOT] LIKE | ILIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

この例では、SHOW TABLES ステートメントを使用して、名前に'user' が含まれるすべてのテーブルを検索します。

SHOW TABLES FROM system LIKE '%user%'
┌─name─────────────┐
│ user_directories │
│ users            │
└──────────────────┘

同じことを、大文字・小文字を区別せずに行うこともできます:

SHOW TABLES FROM system ILIKE '%USER%'
┌─name─────────────┐
│ user_directories │
│ users            │
└──────────────────┘

または、名前に文字「s」を含まないテーブルを検索するには次のようにします。

SHOW TABLES FROM system NOT LIKE '%s%'
┌─name─────────┐
│ metric_log   │
│ metric_log_0 │
│ metric_log_1 │
└──────────────┘

最後に、先頭 2 つのテーブル名だけを取得します。

SHOW TABLES FROM system LIMIT 2
┌─name───────────────────────────┐
│ aggregate_function_combinators │
│ asynchronous_metric_log        │
└────────────────────────────────┘

関連項目

SHOW COLUMNS

SHOW COLUMNS ステートメントは、列の一覧を表示します。

構文

SHOW [EXTENDED] [FULL] COLUMNS {FROM | IN} <table> [{FROM | IN} <db>] [{[NOT] {LIKE | ILIKE} '<pattern>' | WHERE <expr>}] [LIMIT <N>] [INTO
OUTFILE <filename>] [FORMAT <format>]

データベース名とテーブル名は、省略形として <db>.<table> の形式で指定できます。 これは FROM tab FROM dbFROM db.tab が同等であることを意味します。 データベースが指定されていない場合、クエリは現在のデータベースのカラム一覧を返します。

オプションのキーワードとして EXTENDEDFULL も利用できます。EXTENDED キーワードは現在は効果はなく、 MySQL との互換性のために存在しています。FULL キーワードを指定すると、出力に照合順序(collation)、コメント、権限(privilege)カラムが含まれます。

SHOW COLUMNS 文は、次の構造を持つ結果テーブルを生成します。

ColumnDescriptionType
fieldカラム名String
typeカラムのデータ型。クエリが MySQL のワイヤプロトコル経由で実行された場合は、MySQL における同等の型名が表示されます。String
nullカラムのデータ型が Nullable の場合は YES、それ以外は NOString
keyカラムがプライマリキーの一部であれば PRI、ソートキーの一部であれば SOR、それ以外は空文字String
defaultカラムが ALIASDEFAULTMATERIALIZED のいずれかの型である場合のデフォルト式。それ以外の場合は NULLNullable(String)
extra追加情報。現在は未使用String
collationFULL キーワードが指定された場合のみ)カラムの照合順序。ClickHouse にはカラムごとの照合順序がないため、常に NULLNullable(String)
commentFULL キーワードが指定された場合のみ)カラムに対するコメントString
privilegeFULL キーワードが指定された場合のみ)このカラムに対して持っている権限。現在は利用できませんString

Examples

この例では、テーブル 'orders' のすべてのカラムについて、 'delivery_' で始まるカラムの情報を取得するために SHOW COLUMNS 文を使用します。

SHOW COLUMNS FROM 'orders' LIKE 'delivery_%'
┌─field───────────┬─type─────┬─null─┬─key─────┬─default─┬─extra─┐
│ delivery_date   │ DateTime │    0 │ PRI SOR │ ᴺᵁᴸᴸ    │       │
│ delivery_status │ Bool     │    0 │         │ ᴺᵁᴸᴸ    │       │
└─────────────────┴──────────┴──────┴─────────┴─────────┴───────┘

関連項目

SHOW DICTIONARIES

SHOW DICTIONARIES ステートメントは、Dictionaries の一覧を表示します。

構文

SHOW DICTIONARIES [FROM <db>] [LIKE '<pattern>'] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

FROM 句が指定されていない場合、クエリは現在のデータベース内の辞書一覧を返します。

次のようにして、SHOW DICTIONARIES クエリと同じ結果を取得できます。

SELECT name FROM system.dictionaries WHERE database = <db> [AND name LIKE <pattern>] [LIMIT <N>] [INTO OUTFILE <filename>] [FORMAT <format>]

次のクエリは、system データベース内のテーブル一覧から、名前に reg を含む先頭の 2 行を選択します。

SHOW DICTIONARIES FROM db LIKE '%reg%' LIMIT 2
┌─name─────────┐
│ regions      │
│ region_names │
└──────────────┘

SHOW INDEX

テーブルのプライマリインデックスおよびデータスキッピングインデックスの一覧を表示します。

このステートメントは主に MySQL との互換性のために存在します。システムテーブル system.tables(プライマリキー用)および system.data_skipping_indices(データスキッピングインデックス用)は、ClickHouse にとってより自然な形で同等の情報を提供します。

Syntax

SHOW [EXTENDED] {INDEX | INDEXES | INDICES | KEYS } {FROM | IN} <table> [{FROM | IN} <db>] [WHERE <expr>] [INTO OUTFILE <filename>] [FORMAT <format>]

データベース名およびテーブル名は <db>.<table> のような省略形で指定できます。つまり、FROM tab FROM dbFROM db.tab は同等です。データベースが指定されていない場合、クエリは現在のデータベースを使用すると仮定します。

オプションのキーワード EXTENDED は現在何の効果もなく、MySQL 互換性のために存在しています。

このステートメントは、次の構造を持つ結果テーブルを生成します。

ColumnDescriptionType
tableテーブル名。String
non_uniqueClickHouse は一意制約をサポートしないため、常に 1UInt8
key_nameインデックス名。インデックスがプライマリキーインデックスの場合は PRIMARYString
seq_in_indexプライマリキーインデックスの場合、そのカラムの位置(1 から)。データスキップインデックスの場合は常に 1UInt8
column_nameプライマリキーインデックスの場合、そのカラム名。データスキップインデックスの場合は ''(空文字列)。フィールド「expression」を参照。String
collationインデックス内でのカラムのソート順。昇順なら A、降順なら D、ソートされていない場合は NULLNullable(String)
cardinalityインデックスのカーディナリティ(インデックス内の一意値の数)の推定値。現在は常に 0。UInt64
sub_partClickHouse は MySQL のようなインデックスプレフィックスをサポートしないため、常に NULLNullable(String)
packedClickHouse は(MySQL のような)パックドインデックスをサポートしないため、常に NULLNullable(String)
null現在は未使用。
index_typeインデックスの種類。例: PRIMARY, MINMAX, BLOOM_FILTER など。String
commentインデックスに関する追加情報。現在は常に ''(空文字列)。String
index_commentClickHouse のインデックスには MySQL のような COMMENT フィールドを持たせることができないため、''(空文字列)。String
visibleインデックスがオプティマイザーから可視である場合、常に YESString
expressionデータスキップインデックスの場合、そのインデックス式。プライマリキーインデックスの場合は ''(空文字列)。String

Examples

この例では、SHOW INDEX ステートメントを使用して、テーブル 'tbl' に存在するすべてのインデックスに関する情報を取得します。

SHOW INDEX FROM 'tbl'
┌─table─┬─non_unique─┬─key_name─┬─seq_in_index─┬─column_name─┬─collation─┬─cardinality─┬─sub_part─┬─packed─┬─null─┬─index_type───┬─comment─┬─index_comment─┬─visible─┬─expression─┐
│ tbl   │          1 │ blf_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ BLOOM_FILTER │         │               │ YES     │ d, b       │
│ tbl   │          1 │ mm1_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ MINMAX       │         │               │ YES     │ a, c, d    │
│ tbl   │          1 │ mm2_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ MINMAX       │         │               │ YES     │ c, d, e    │
│ tbl   │          1 │ PRIMARY  │ 1            │ c           │ A         │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ PRIMARY      │         │               │ YES     │            │
│ tbl   │          1 │ PRIMARY  │ 2            │ a           │ A         │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ PRIMARY      │         │               │ YES     │            │
│ tbl   │          1 │ set_idx  │ 1            │ 1           │ ᴺᵁᴸᴸ      │ 0           │ ᴺᵁᴸᴸ     │ ᴺᵁᴸᴸ   │ ᴺᵁᴸᴸ │ SET          │         │               │ YES     │ e          │
└───────┴────────────┴──────────┴──────────────┴─────────────┴───────────┴─────────────┴──────────┴────────┴──────┴──────────────┴─────────┴───────────────┴─────────┴────────────┘

関連項目

SHOW PROCESSLIST

現在処理中のクエリの一覧を含む system.processes テーブルの内容を出力します。ただし、SHOW PROCESSLIST クエリは除外されます。

構文

SHOW PROCESSLIST [INTO OUTFILE filename] [FORMAT format]

SELECT * FROM system.processes クエリは、現在実行中のすべてのクエリに関するデータを返します。

ヒント

コンソールで実行します:

$ watch -n1 "clickhouse-client --query='SHOW PROCESSLIST'"

SHOW GRANTS

SHOW GRANTS ステートメントは、ユーザーの権限を表示します。

構文

SHOW GRANTS [FOR user1 [, user2 ...]] [WITH IMPLICIT] [FINAL]

ユーザーが指定されていない場合、クエリは現在のユーザーに対する権限を返します。

WITH IMPLICIT 修飾子を使用すると、暗黙的な権限付与(例:GRANT SELECT ON system.one)も表示できます。

FINAL 修飾子は、ユーザー自身の権限と、そのユーザーに付与されたロール(継承分を含む)からのすべての権限を統合します。

SHOW CREATE USER

SHOW CREATE USER 文は、ユーザー作成 時に指定されたパラメータを表示します。

構文

SHOW CREATE USER [name1 [, name2 ...] | CURRENT_USER]

SHOW CREATE ROLE

SHOW CREATE ROLE ステートメントは、ロールの作成時に使用されたパラメータを表示します。

構文

SHOW CREATE ROLE name1 [, name2 ...]

SHOW CREATE ROW POLICY

SHOW CREATE ROW POLICY ステートメントは、行ポリシーの作成 の際に使用されたパラメーターを表示します。

構文

SHOW CREATE [ROW] POLICY name ON [database1.]table1 [, [database2.]table2 ...]

SHOW CREATE QUOTA

SHOW CREATE QUOTA ステートメントは、クォータ作成時に指定されたパラメーターを表示します。

構文

SHOW CREATE QUOTA [name1 [, name2 ...] | CURRENT]

SHOW CREATE SETTINGS PROFILE

SHOW CREATE SETTINGS PROFILE ステートメントは、設定プロファイルの作成 で使用されたパラメーターを表示します。

構文

SHOW CREATE [SETTINGS] PROFILE name1 [, name2 ...]

SHOW USERS

SHOW USERS ステートメントは、ユーザーアカウント名の一覧を返します。 ユーザーアカウントのパラメータを表示するには、システムテーブル system.users を参照してください。

構文

SHOW USERS

SHOW ROLES

SHOW ROLES ステートメントは、ロールの一覧を返します。 他のパラメータを確認するには、 システムテーブル system.roles および system.role_grants を参照してください。

構文

SHOW [CURRENT|ENABLED] ROLES

SHOW PROFILES

SHOW PROFILES ステートメントは、設定プロファイルのリストを返します。 ユーザーアカウントに関するパラメータを確認するには、システムテーブル settings_profiles を参照してください。

構文

SHOW [SETTINGS] PROFILES

SHOW POLICIES

SHOW POLICIES ステートメントは、指定したテーブルに対する 行ポリシー の一覧を返します。 ユーザーアカウントに関するパラメーターを表示するには、システムテーブル system.row_policies を参照してください。

構文

SHOW [ROW] POLICIES [ON [db.]table]

SHOW QUOTAS

SHOW QUOTAS ステートメントは、クオータの一覧を返します。 クオータのパラメータを確認するには、システムテーブル system.quotas を参照してください。

構文

SHOW QUOTAS

SHOW QUOTA

SHOW QUOTA ステートメントは、すべてのユーザーまたは現在のユーザーのクオータの消費状況を返します。 その他のパラメータを表示するには、システムテーブル system.quotas_usage および system.quota_usage を参照してください。

構文

SHOW [CURRENT] QUOTA

SHOW ACCESS

SHOW ACCESS ステートメントは、すべてのユーザーロールプロファイルなどと、それらに付与されているすべての権限を表示します。

構文

SHOW ACCESS

SHOW CLUSTER(S)

SHOW CLUSTER(S) ステートメントは、クラスタの一覧を返します。 利用可能なすべてのクラスタは、system.clusters テーブルに一覧されています。

注記

SHOW CLUSTER name クエリは、指定したクラスタ名に対応する system.clusters テーブルの clustershard_numreplica_numhost_namehost_addressport を表示します。

構文

SHOW CLUSTER '<name>'
SHOW CLUSTERS [[NOT] LIKE|ILIKE '<pattern>'] [LIMIT <N>]

SHOW CLUSTERS;
┌─cluster──────────────────────────────────────┐
│ test_cluster_two_shards                      │
│ test_cluster_two_shards_internal_replication │
│ test_cluster_two_shards_localhost            │
│ test_shard_localhost                         │
│ test_shard_localhost_secure                  │
│ test_unavailable_shard                       │
└──────────────────────────────────────────────┘
SHOW CLUSTERS LIKE 'test%' LIMIT 1;
┌─cluster─────────────────┐
│ test_cluster_two_shards │
└─────────────────────────┘
SHOW CLUSTER 'test_shard_localhost' FORMAT Vertical;
Row 1:
──────
cluster:                 test_shard_localhost
shard_num:               1
replica_num:             1
host_name:               localhost
host_address:            127.0.0.1
port:                    9000

SHOW SETTINGS

SHOW SETTINGS ステートメントは、システム設定とその値の一覧を返します。 system.settings テーブルからデータを取得します。

構文

SHOW [CHANGED] SETTINGS LIKE|ILIKE <name>

LIKE|ILIKE は設定名に対してマッチパターンを指定できます。%_ といったワイルドカードを含めることができます。LIKE 句は大文字と小文字を区別し、ILIKE 句は大文字と小文字を区別しません。

CHANGED 句を使用すると、クエリはデフォルト値から変更された設定のみを返します。

LIKE 句を使用したクエリ:

SHOW SETTINGS LIKE 'send_timeout';
┌─name─────────┬─type────┬─value─┐
│ send_timeout │ Seconds │ 300   │
└──────────────┴─────────┴───────┘

ILIKE 句を使ったクエリ:

SHOW SETTINGS ILIKE '%CONNECT_timeout%'
┌─name────────────────────────────────────┬─type─────────┬─value─┐
│ connect_timeout                         │ Seconds      │ 10    │
│ connect_timeout_with_failover_ms        │ Milliseconds │ 50    │
│ connect_timeout_with_failover_secure_ms │ Milliseconds │ 100   │
└─────────────────────────────────────────┴──────────────┴───────┘

CHANGED 句を用いたクエリ:

SHOW CHANGED SETTINGS ILIKE '%MEMORY%'
┌─name─────────────┬─type───┬─value───────┐
│ max_memory_usage │ UInt64 │ 10000000000 │
└──────────────────┴────────┴─────────────┘

SHOW SETTING

SHOW SETTING ステートメントは、指定した設定名の設定値を表示します。

構文

SHOW SETTING <name>

関連項目

SHOW FILESYSTEM CACHES

使用例

ファイルシステムキャッシュを表示
┌─Caches────┐
│ s3_cache  │
└───────────┘

関連項目

SHOW ENGINES

SHOW ENGINES ステートメントは、サーバーがサポートするテーブルエンジンの説明と、その機能のサポート状況が格納されている system.table_engines テーブルの内容を出力します。

構文

SHOW ENGINES [INTO OUTFILE filename] [FORMAT format]

関連項目

SHOW FUNCTIONS

SHOW FUNCTIONS ステートメントは、system.functions テーブルの内容を表示します。

構文

SHOW FUNCTIONS [LIKE | ILIKE '<pattern>']

LIKE 句または ILIKE 句が指定されている場合、クエリは名前が指定された <pattern> に一致するシステム関数の一覧を返します。

関連項目

SHOW MERGES

SHOW MERGES ステートメントは、マージの一覧を返します。 すべてのマージは system.merges テーブルに一覧表示されます。

ColumnDescription
tableテーブル名。
databaseテーブルが属するデータベース名。
estimate_complete完了までの推定時間(秒)。
elapsedマージ開始からの経過時間(秒)。
progress完了済み作業の進捗率(0〜100 パーセント)。
is_mutationこの処理がパーツのミューテーションであれば 1。
size_compressedマージされたパーツの圧縮データの合計サイズ。
memory_usageマージ処理のメモリ使用量。

構文

SHOW MERGES [[NOT] LIKE|ILIKE '<table_name_pattern>'] [LIMIT <N>]

SHOW MERGES;
┌─table──────┬─database─┬─estimate_complete─┬─elapsed─┬─progress─┬─is_mutation─┬─size_compressed─┬─memory_usage─┐
│ your_table │ default  │              0.14 │    0.36 │    73.01 │           0 │        5.40 MiB │    10.25 MiB │
└────────────┴──────────┴───────────────────┴─────────┴──────────┴─────────────┴─────────────────┴──────────────┘
SHOW MERGES LIKE 'your_t%' LIMIT 1;
┌─table──────┬─database─┬─estimate_complete─┬─elapsed─┬─progress─┬─is_mutation─┬─size_compressed─┬─memory_usage─┐
│ your_table │ default  │              0.14 │    0.36 │    73.01 │           0 │        5.40 MiB │    10.25 MiB │
└────────────┴──────────┴───────────────────┴─────────┴──────────┴─────────────┴─────────────────┴──────────────┘