该语句用于恢复之前删除的 database、table 或者 partition。支持通过name、id来恢复指定的元信息,并且支持将恢复的元信息重命名。

    可以通过 来查询当前可恢复的元信息。

    语法:

    1. 以name恢复 table

      1. RECOVER TABLE [db_name.]table_name;
    2. 以name恢复 partition

      1. RECOVER PARTITION partition_name FROM [db_name.]table_name;
    3. 以name和id恢复 database

      1. RECOVER DATABASE db_name db_id;
      1. 以name和id恢复 partition

        1. RECOVER PARTITION partition_name partition_id FROM [db_name.]table_name;
      2. 以name恢复 database 并设定新名字

      3. 以name和id恢复 table 并设定新名字

        1. 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 来查询当前可恢复的元信息。
      1. 恢复名为 example_db 的 database
      1. RECOVER DATABASE example_db;
      1. 恢复名为 example_tbl 的 table
        1. 恢复表 example_tbl 中名为 p1 的 partition
        1. 恢复 example_db_id 且名为 example_db 的 database
        1. 恢复 example_tbl_id 且名为 example_tbl 的 table
        1. RECOVER TABLE example_db.example_tbl example_tbl_id;
        1. 恢复表 example_tbl 中 p1_id 且名为 p1 的 partition
        1. RECOVER PARTITION p1 p1_id FROM example_tbl;
        1. 恢复 example_db_id 且名为 example_db 的 database,并设定新名字 new_example_db
        1. RECOVER DATABASE example_db example_db_id AS new_example_db;
        1. 恢复名为 example_tbl 的 table,并设定新名字 new_example_tbl
        1. RECOVER TABLE example_db.example_tbl AS new_example_tbl;
        1. 恢复表 example_tbl 中 p1_id 且名为 p1 的 partition,并设定新名字 new_p1
        1. RECOVER PARTITION p1 p1_id AS new_p1 FROM example_tbl;