ClickHouse/docs/ru/sql-reference/statements/show.md
Robert Schulze 53836bbeeb
Fix typo
The system view is called 'role*_*grants', documented on page
'role*-*grants.md'.
2022-09-02 12:49:50 +00:00

17 KiB
Raw Blame History

slug sidebar_position sidebar_label
/ru/sql-reference/statements/show 37 SHOW

SHOW Queries

SHOW CREATE TABLE

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

Возвращает один столбец типа String с именем statement, содержащий одно значение — запрос CREATE, с помощью которого был создан указанный объект.

SHOW DATABASES

Выводит список всех баз данных.

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

Этот запрос идентичен запросу:

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

Примеры

Получение списка баз данных, имена которых содержат последовательность символов 'de':

SHOW DATABASES LIKE '%de%'

Результат:

┌─name────┐
│ default │
└─────────┘

Получение списка баз данных, имена которых содержат последовательность символов 'de' независимо от регистра:

SHOW DATABASES ILIKE '%DE%'

Результат:

┌─name────┐
│ default │
└─────────┘

Получение списка баз данных, имена которых не содержат последовательность символов 'de':

SHOW DATABASES NOT LIKE '%de%'

Результат:

┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ system                         │
│ test                           │
│ tutorial                       │
└────────────────────────────────┘

Получение первых двух строк из списка имен баз данных:

SHOW DATABASES LIMIT 2

Результат:

┌─name───────────────────────────┐
│ _temporary_and_external_tables │
│ default                        │
└────────────────────────────────┘

Смотрите также

SHOW PROCESSLIST

SHOW PROCESSLIST [INTO OUTFILE filename] [FORMAT format]

Выводит содержимое таблицы system.processes, которая содержит список запросов, выполняющихся в данный момент времени, кроме самих запросов SHOW PROCESSLIST.

Запрос SELECT * FROM system.processes возвращает данные обо всех текущих запросах.

Полезный совет (выполните в консоли):

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

SHOW TABLES

Выводит список таблиц.

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

Если условие FROM не указано, запрос возвращает список таблиц из текущей базы данных.

Этот запрос идентичен запросу:

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

Примеры

Получение списка таблиц, имена которых содержат последовательность символов 'user':

SHOW TABLES FROM system LIKE '%user%'

Результат:

┌─name─────────────┐
│ user_directories │
│ users            │
└──────────────────┘

Получение списка таблиц, имена которых содержат последовательность символов 'user' без учета регистра:

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 │
└──────────────┘

Получение первых двух строк из списка таблиц:

SHOW TABLES FROM system LIMIT 2

Результат:

┌─name───────────────────────────┐
│ aggregate_function_combinators │
│ asynchronous_metric_log        │
└────────────────────────────────┘

Смотрите также

SHOW DICTIONARIES

Выводит список внешних словарей.

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

Если секция FROM не указана, запрос возвращает список словарей из текущей базы данных.

Аналогичный результат можно получить следующим запросом:

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

Example

Запрос выводит первые две стоки из списка таблиц в базе данных system, имена которых содержат reg.

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

SHOW GRANTS

Выводит привилегии пользователя.

Синтаксис

SHOW GRANTS [FOR user]

Если пользователь не задан, запрос возвращает привилегии текущего пользователя.

SHOW CREATE USER

Выводит параметры, использованные при создании пользователя.

SHOW CREATE USER не возвращает пароль пользователя.

Синтаксис

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

SHOW CREATE ROLE

Выводит параметры, использованные при создании роли.

Синтаксис

SHOW CREATE ROLE name1 [, name2 ...]

SHOW CREATE ROW POLICY

Выводит параметры, использованные при создании политики доступа к строкам.

Синтаксис

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

SHOW CREATE QUOTA

Выводит параметры, использованные при создании квоты.

Синтаксис

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

SHOW CREATE SETTINGS PROFILE

Выводит параметры, использованные при создании профиля настроек.

Синтаксис

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

SHOW USERS

Выводит список пользовательских аккаунтов. Для просмотра параметров пользовательских аккаунтов, см. системную таблицу system.users.

Синтаксис

SHOW USERS

SHOW ROLES

Выводит список ролей. Для просмотра параметров ролей, см. системные таблицы system.roles и system.role_grants.

Синтаксис

SHOW [CURRENT|ENABLED] ROLES

SHOW PROFILES

Выводит список профилей настроек. Для просмотра других параметров профилей настроек, см. системную таблицу settings_profiles.

Синтаксис

SHOW [SETTINGS] PROFILES

SHOW POLICIES

Выводит список политик доступа к строкам для указанной таблицы. Для просмотра других параметров, см. системную таблицу system.row_policies.

Синтаксис

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

SHOW QUOTAS

Выводит список квот. Для просмотра параметров квот, см. системную таблицу system.quotas.

Синтаксис

SHOW QUOTAS

SHOW QUOTA

Выводит потребление квоты для всех пользователей или только для текущего пользователя. Для просмотра других параметров, см. системные таблицы system.quotas_usage и system.quota_usage.

Синтаксис

SHOW [CURRENT] QUOTA

SHOW ACCESS

Выводит список всех пользователей, ролей, профилей и пр., а также все привилегии.

Синтаксис

SHOW ACCESS

SHOW CLUSTER(s)

Возвращает список кластеров. Все доступные кластеры перечислены в таблице system.clusters.

:::info "Note" По запросу SHOW CLUSTER name вы получите содержимое таблицы system.clusters для этого кластера. :::

Синтаксис

SHOW CLUSTER '<name>'
SHOW CLUSTERS [LIKE|NOT LIKE '<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
shard_weight:            1
replica_num:             1
host_name:               localhost
host_address:            127.0.0.1
port:                    9000
is_local:                1
user:                    default
default_database:
errors_count:            0
estimated_recovery_time: 0

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 │
└──────────────────┴────────┴─────────────┘

См. также