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

> clickhouse_backupview 文档 {#clickhouse_backupview}

# clickhouse_backupview

用于帮助分析通过 [BACKUP](/zh/concepts/features/backup-restore/overview) 命令创建的备份的 Python 模块。
其主要目的是在无需实际恢复备份的情况下，从备份中获取一些信息。

此模块提供以下功能：

* 枚举备份中包含的文件
* 读取备份中的文件
* 以易读的形式获取备份中包含的数据库、表和 parts 的相关有用信息
* 检查备份的完整性

<div id="example">
  ## 示例：
</div>

```python theme={null}
from clickhouse_backupview import open_backup, S3, FileInfo

# 打开一个备份。也可以使用本地路径：
# backup = open_backup("/backups/my_backup_1/")
backup = open_backup(S3("uri", "access_key_id", "secret_access_key"))

# 获取备份中的数据库列表。
print(backup.get_databases()))

# 获取备份中的表列表，
# 以及每张表的建表查询、parts 列表和分区列表。
for db in backup.get_databases():
    for tbl in backup.get_tables(database=db):
        print(backup.get_create_query(database=db, table=tbl))
        print(backup.get_partitions(database=db, table=tbl))
        print(backup.get_parts(database=db, table=tbl))

# 从备份中提取所有内容。
backup.extract_all(table="mydb.mytable", out='/tmp/my_backup_1/all/')

# 提取指定表的数据。
backup.extract_table_data(table="mydb.mytable", out='/tmp/my_backup_1/mytable/')

# 提取单个分区。
backup.extract_table_data(table="mydb.mytable", partition="202201", out='/tmp/my_backup_1/202201/')

# 提取单个 part。
backup.extract_table_data(table="mydb.mytable", part="202201_100_200_3", out='/tmp/my_backup_1/202201_100_200_3/')
```

更多示例请参见 [test](https://github.com/ClickHouse/ClickHouse/blob/master/utils/backupview/test/test.py)。
