system.tables 

Содержит метаданные каждой таблицы, о которой знает сервер.

Отсоединённые таблицы (DETACH) не отображаются в system.tables.

Информация о временных таблицах содержится в system.tables только в тех сессиях, в которых эти таблицы были созданы. Поле database у таких таблиц пустое, а флаг is_temporary включен.

Столбцы:

  • database (String) — имя базы данных, в которой находится таблица.
  • name (String) — имя таблицы.
  • engine (String) — движок таблицы (без параметров).
  • is_temporary (UInt8) — флаг, указывающий на то, временная это таблица или нет.
  • data_path (String) — путь к данным таблицы в файловой системе.
  • metadata_path (String) — путь к табличным метаданным в файловой системе.
  • metadata_modification_time (DateTime) — время последней модификации табличных метаданных.
  • dependencies_database (Array(String)) — зависимости базы данных.
  • dependencies_table (Array(String)) — табличные зависимости (таблицы MaterializedView, созданные на базе текущей таблицы).
  • create_table_query (String) — запрос, при помощи которого создавалась таблица.
  • engine_full (String) — параметры табличного движка.
  • partition_key (String) — ключ партиционирования таблицы.
  • sorting_key (String) — ключ сортировки таблицы.
  • primary_key (String) - первичный ключ таблицы.
  • sampling_key (String) — ключ сэмплирования таблицы.
  • storage_policy (String) - политика хранения данных:

  • total_rows (Nullable(UInt64)) - общее количество строк, если есть возможность быстро определить точное количество строк в таблице, в противном случае NULL (включая базовую таблицу Buffer).

  • total_bytes (Nullable(UInt64)) - общее количество байт, если можно быстро определить точное количество байт для таблицы на накопителе, в противном случае NULL (не включает в себя никакого базового хранилища).

    • Если таблица хранит данные на диске, возвращает используемое пространство на диске (т. е. сжатое).
    • Если таблица хранит данные в памяти, возвращает приблизительное количество используемых байт в памяти.
  • lifetime_rows (Nullable(UInt64)) - общее количество строк, добавленных оператором INSERT с момента запуска сервера (только для таблиц Buffer).

  • lifetime_bytes (Nullable(UInt64)) - общее количество байт, добавленных оператором INSERT с момента запуска сервера (только для таблиц Buffer).

Таблица system.tables используется при выполнении запроса SHOW TABLES.

Пример

SELECT * FROM system.tables LIMIT 2 FORMAT Vertical;
Row 1:
──────
database:                   system
name:                       aggregate_function_combinators
uuid:                       00000000-0000-0000-0000-000000000000
engine:                     SystemAggregateFunctionCombinators
is_temporary:               0
data_paths:                 []
metadata_path:              /var/lib/clickhouse/metadata/system/aggregate_function_combinators.sql
metadata_modification_time: 1970-01-01 03:00:00
dependencies_database:      []
dependencies_table:         []
create_table_query:         
engine_full:                
partition_key:              
sorting_key:                
primary_key:                
sampling_key:               
storage_policy:             
total_rows:                 ᴺᵁᴸᴸ
total_bytes:                ᴺᵁᴸᴸ

Row 2:
──────
database:                   system
name:                       asynchronous_metrics
uuid:                       00000000-0000-0000-0000-000000000000
engine:                     SystemAsynchronousMetrics
is_temporary:               0
data_paths:                 []
metadata_path:              /var/lib/clickhouse/metadata/system/asynchronous_metrics.sql
metadata_modification_time: 1970-01-01 03:00:00
dependencies_database:      []
dependencies_table:         []
create_table_query:         
engine_full:                
partition_key:              
sorting_key:                
primary_key:                
sampling_key:               
storage_policy:             
total_rows:                 ᴺᵁᴸᴸ
total_bytes:                ᴺᵁᴸᴸ

Rating: 5 - 2 votes

Was this content helpful?
★★★★★