> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> System table containing information about projection parts for tables of the MergeTree family.

# system.projection_parts

<h2 id="description">
  Description
</h2>

This table contains information about projection parts for tables of the MergeTree family.

<h2 id="columns">
  Columns
</h2>

* `partition` ([String](/reference/data-types/index)) — The partition name.
* `name` ([String](/reference/data-types/index)) — Name of the data part.
* `part_type` ([String](/reference/data-types/index)) — The data part storing format. Possible Values: Wide (a file per column) and Compact (a single file for all columns).
* `parent_name` ([String](/reference/data-types/index)) — The name of the source (parent) data part.
* `parent_uuid` ([UUID](/reference/data-types/index)) — The UUID of the source (parent) data part.
* `parent_part_type` ([String](/reference/data-types/index)) — The source (parent) data part storing format.
* `active` ([UInt8](/reference/data-types/index)) — Flag that indicates whether the data part is active. If a data part is active, it's used in a table. Otherwise, it's about to be deleted. Inactive data parts appear after merging and mutating operations.
* `marks` ([UInt64](/reference/data-types/index)) — The number of marks. To get the approximate number of rows in a data part, multiply marks by the index granularity (usually 8192) (this hint does not work for adaptive granularity).
* `rows` ([UInt64](/reference/data-types/index)) — The number of rows.
* `bytes_on_disk` ([UInt64](/reference/data-types/index)) — Total size of all the data part files in bytes.
* `data_compressed_bytes` ([UInt64](/reference/data-types/index)) — Total size of compressed data in the data part. All the auxiliary files (for example, files with marks) are not included.
* `data_uncompressed_bytes` ([UInt64](/reference/data-types/index)) — Total size of uncompressed data in the data part. All the auxiliary files (for example, files with marks) are not included.
* `marks_bytes` ([UInt64](/reference/data-types/index)) — The size of the file with marks.
* `parent_marks` ([UInt64](/reference/data-types/index)) — The number of marks in the source (parent) part.
* `parent_rows` ([UInt64](/reference/data-types/index)) — The number of rows in the source (parent) part.
* `parent_bytes_on_disk` ([UInt64](/reference/data-types/index)) — Total size of all the source (parent) data part files in bytes.
* `parent_data_compressed_bytes` ([UInt64](/reference/data-types/index)) — Total size of compressed data in the source (parent) data part.
* `parent_data_uncompressed_bytes` ([UInt64](/reference/data-types/index)) — Total size of uncompressed data in the source (parent) data part.
* `parent_marks_bytes` ([UInt64](/reference/data-types/index)) — The size of the file with marks in the source (parent) data part.
* `modification_time` ([DateTime](/reference/data-types/index)) — The time the directory with the data part was modified. This usually corresponds to the time of data part creation.
* `remove_time` ([DateTime](/reference/data-types/index)) — The time when the data part became inactive.
* `refcount` ([UInt32](/reference/data-types/index)) — The number of places where the data part is used. A value greater than 2 indicates that the data part is used in queries or merges.
* `min_date` ([Date](/reference/data-types/index)) — The minimum value of the date key in the data part.
* `max_date` ([Date](/reference/data-types/index)) — The maximum value of the date key in the data part.
* `min_time` ([DateTime](/reference/data-types/index)) — The minimum value of the date and time key in the data part.
* `max_time` ([DateTime](/reference/data-types/index)) — The maximum value of the date and time key in the data part.
* `partition_id` ([String](/reference/data-types/index)) — ID of the partition.
* `min_block_number` ([Int64](/reference/data-types/index)) — The minimum number of data parts that make up the current part after merging.
* `max_block_number` ([Int64](/reference/data-types/index)) — The maximum number of data parts that make up the current part after merging.
* `level` ([UInt32](/reference/data-types/index)) — Depth of the merge tree. Zero means that the current part was created by insert rather than by merging other parts.
* `data_version` ([UInt64](/reference/data-types/index)) — Number that is used to determine which mutations should be applied to the data part (mutations with a version higher than data\_version).
* `primary_key_bytes_in_memory` ([UInt64](/reference/data-types/index)) — The amount of memory (in bytes) used by primary key values.
* `primary_key_bytes_in_memory_allocated` ([UInt64](/reference/data-types/index)) — The amount of memory (in bytes) reserved for primary key values.
* `is_frozen` ([UInt8](/reference/data-types/index)) — Flag that shows that a partition data backup exists. 1, the backup exists. 0, the backup does not exist.
* `database` ([String](/reference/data-types/index)) — Name of the database.
* `table` ([String](/reference/data-types/index)) — Name of the table.
* `engine` ([String](/reference/data-types/index)) — Name of the table engine without parameters.
* `disk_name` ([String](/reference/data-types/index)) — Name of a disk that stores the data part.
* `path` ([String](/reference/data-types/index)) — Absolute path to the folder with data part files.
* `hash_of_all_files` ([String](/reference/data-types/index)) — sipHash128 of compressed files.
* `hash_of_uncompressed_files` ([String](/reference/data-types/index)) — sipHash128 of uncompressed files (files with marks, index file etc.).
* `uncompressed_hash_of_compressed_files` ([String](/reference/data-types/index)) — sipHash128 of data in the compressed files as if they were uncompressed.
* `delete_ttl_info_min` ([DateTime](/reference/data-types/index)) — The minimum value of the date and time key for TTL DELETE rule.
* `delete_ttl_info_max` ([DateTime](/reference/data-types/index)) — The maximum value of the date and time key for TTL DELETE rule.
* `move_ttl_info.expression` ([Array(String)](/reference/data-types/index)) — Array of expressions. Each expression defines a TTL MOVE rule.
* `move_ttl_info.min` ([Array(DateTime)](/reference/data-types/index)) — Array of date and time values. Each element describes the minimum key value for a TTL MOVE rule.
* `move_ttl_info.max` ([Array(DateTime)](/reference/data-types/index)) — Array of date and time values. Each element describes the maximum key value for a TTL MOVE rule.
* `default_compression_codec` ([String](/reference/data-types/index)) — The name of the codec used to compress this data part (in case when there is no explicit codec for columns).
* `recompression_ttl_info.expression` ([Array(String)](/reference/data-types/index)) — The TTL expression.
* `recompression_ttl_info.min` ([Array(DateTime)](/reference/data-types/index)) — The minimum value of the calculated TTL expression within this part. Used to understand whether we have at least one row with expired TTL.
* `recompression_ttl_info.max` ([Array(DateTime)](/reference/data-types/index)) — The maximum value of the calculated TTL expression within this part. Used to understand whether we have all rows with expired TTL.
* `group_by_ttl_info.expression` ([Array(String)](/reference/data-types/index)) — The TTL expression.
* `group_by_ttl_info.min` ([Array(DateTime)](/reference/data-types/index)) — The minimum value of the calculated TTL expression within this part. Used to understand whether we have at least one row with expired TTL.
* `group_by_ttl_info.max` ([Array(DateTime)](/reference/data-types/index)) — The maximum value of the calculated TTL expression within this part. Used to understand whether we have all rows with expired TTL.
* `rows_where_ttl_info.expression` ([Array(String)](/reference/data-types/index)) — The TTL expression.
* `rows_where_ttl_info.min` ([Array(DateTime)](/reference/data-types/index)) — The minimum value of the calculated TTL expression within this part. Used to understand whether we have at least one row with expired TTL.
* `rows_where_ttl_info.max` ([Array(DateTime)](/reference/data-types/index)) — The maximum value of the calculated TTL expression within this part. Used to understand whether we have all rows with expired TTL.
* `is_broken` ([UInt8](/reference/data-types/index)) — Whether projection part is broken
* `exception_code` ([Int32](/reference/data-types/index)) — Exception message explaining broken state of the projection part
* `exception` ([String](/reference/data-types/index)) — Exception code explaining broken state of the projection part
