From 45a3bb87c40f01fc0fd6466134f3d110a0b62376 Mon Sep 17 00:00:00 2001 From: xueweizhang Date: Thu, 10 Nov 2022 20:20:39 +0800 Subject: [PATCH] [docs](recover) modify recover doc (#13904) --- .../RECOVER.md | 86 +++++++++++++++++-- .../RECOVER.md | 86 +++++++++++++++++-- 2 files changed, 161 insertions(+), 11 deletions(-) diff --git a/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md b/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md index ef9193ad16..d5dc1d7f72 100644 --- a/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md +++ b/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md @@ -32,32 +32,71 @@ RECOVER ### Description -This statement is used to restore a previously deleted database, table or partition +This statement is used to restore a previously deleted database, table or partition. It supports recover meta information by name or id, and you can set new name for recovered meta information. + +You can get all meta informations that can be recovered by statement `SHOW CATALOG RECYCLE BIN`. grammar: -1. restore database +1. restore database by name ```sql RECOVER DATABASE db_name; ``` -2. restore table +2. restore table by name ```sql RECOVER TABLE [db_name.]table_name; ``` - 3. restore partition + 3. restore partition by name ```sql RECOVER PARTITION partition_name FROM [db_name.]table_name; ``` +4. restore database by name and id + + ```sql + RECOVER DATABASE db_name db_id; + ``` + +5. restore table by name and id + + ```sql + RECOVER TABLE [db_name.]table_name table_id; + ``` + +6. restore partition by name and id + + ```sql + RECOVER PARTITION partition_name partition_id FROM [db_name.]table_name; + ``` + +7. restore database by name, and set new db name + + ```sql + RECOVER DATABASE db_name AS new_db_name; + ``` + +8. restore table by name and id, and set new table name + + ```sql + RECOVER TABLE [db_name.]table_name table_id AS new_db_name; + ``` + +9. restore partition by name and id, and set new partition name + + ```sql + RECOVER PARTITION partition_name partition_id AS new_db_name FROM [db_name.]table_name; + ``` + illustrate: - This operation can only restore meta information that was deleted in the previous period. Default is 1 day. (Configurable through the `catalog_trash_expire_second` parameter in fe.conf) -- If a new meta information with the same name and type is created after the meta information is deleted, the previously deleted meta information cannot be recovered +- If you recover a meta information by name without id, it will recover the last dropped one which has same name. +- You can get all meta informations that can be recovered by statement `SHOW CATALOG RECYCLE BIN`. ### Example @@ -79,9 +118,46 @@ RECOVER TABLE example_db.example_tbl; RECOVER PARTITION p1 FROM example_tbl; ``` +4. Restore the database named example_db with id example_db_id + +```sql +RECOVER DATABASE example_db example_db_id; +``` + +5. Restore the table named example_tbl with id example_tbl_id + +```sql +RECOVER TABLE example_db.example_tbl example_tbl_id; +``` + +6. Restore the partition named p1 with id p1_id in table example_tbl + +```sql +RECOVER PARTITION p1 p1_id FROM example_tbl; +``` + +7. Restore the database named example_db with id example_db_id, and set new name new_example_db + +```sql +RECOVER DATABASE example_db example_db_id AS new_example_db; +``` + +8. Restore the table named example_tbl, and set new name new_example_tbl + +```sql +RECOVER TABLE example_db.example_tbl AS new_example_tbl; +``` + +9. Restore the partition named p1 with id p1_id in table example_tbl, and new name new_p1 + +```sql +RECOVER PARTITION p1 p1_id AS new_p1 FROM example_tbl; +``` + ### Keywords RECOVER ### Best Practice + diff --git a/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md b/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md index e25bbcd256..105cea9b9c 100644 --- a/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md +++ b/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/RECOVER.md @@ -32,34 +32,71 @@ RECOVER ### Description -该语句用于恢复之前删除的 database、table 或者 partition +该语句用于恢复之前删除的 database、table 或者 partition。支持通过name、id来恢复指定的元信息,并且支持将恢复的元信息重命名。 + +可以通过 `SHOW CATALOG RECYCLE BIN` 来查询当前可恢复的元信息。 语法: -1. 恢复 database +1. 以name恢复 database ```sql RECOVER DATABASE db_name; ``` -2. 恢复 table +2. 以name恢复 table ```sql RECOVER TABLE [db_name.]table_name; ``` -3. 恢复 partition +3. 以name恢复 partition ```sql RECOVER PARTITION partition_name FROM [db_name.]table_name; ``` - +4. 以name和id恢复 database + + ```sql + RECOVER DATABASE db_name db_id; + ``` + +5. 以name和id恢复 table + + ```sql + RECOVER TABLE [db_name.]table_name table_id; + ``` + +6. 以name和id恢复 partition + + ```sql + RECOVER PARTITION partition_name partition_id FROM [db_name.]table_name; + ``` + +7. 以name恢复 database 并设定新名字 + + ```sql + RECOVER DATABASE db_name AS new_db_name; + ``` + +8. 以name和id恢复 table 并设定新名字 + + ```sql + RECOVER TABLE [db_name.]table_name table_id AS new_db_name; + ``` + +9. 以name和id恢复 partition 并设定新名字 + + ```sql + RECOVER PARTITION partition_name partition_id AS new_db_name FROM [db_name.]table_name; + ``` 说明: - 该操作仅能恢复之前一段时间内删除的元信息。默认为 1 天。(可通过fe.conf中`catalog_trash_expire_second`参数配置) -- 如果删除元信息后新建立了同名同类型的元信息,则之前删除的元信息不能被恢复 +- 如果恢复元信息时没有指定id,则默认恢复最后一个删除的同名元数据。 +- 可以通过 `SHOW CATALOG RECYCLE BIN` 来查询当前可恢复的元信息。 ### Example @@ -81,9 +118,46 @@ RECOVER TABLE example_db.example_tbl; RECOVER PARTITION p1 FROM example_tbl; ``` +4. 恢复 example_db_id 且名为 example_db 的 database + +```sql +RECOVER DATABASE example_db example_db_id; +``` + +5. 恢复 example_tbl_id 且名为 example_tbl 的 table + +```sql +RECOVER TABLE example_db.example_tbl example_tbl_id; +``` + +6. 恢复表 example_tbl 中 p1_id 且名为 p1 的 partition + +```sql +RECOVER PARTITION p1 p1_id FROM example_tbl; +``` + +7. 恢复 example_db_id 且名为 example_db 的 database,并设定新名字 new_example_db + +```sql +RECOVER DATABASE example_db example_db_id AS new_example_db; +``` + +8. 恢复名为 example_tbl 的 table,并设定新名字 new_example_tbl + +```sql +RECOVER TABLE example_db.example_tbl AS new_example_tbl; +``` + +9. 恢复表 example_tbl 中 p1_id 且名为 p1 的 partition,并设定新名字 new_p1 + +```sql +RECOVER PARTITION p1 p1_id AS new_p1 FROM example_tbl; +``` + ### Keywords RECOVER ### Best Practice +