云数据库 GAUSSDB-闪回DROP/TRUNCATE:参数说明

时间:2024-11-13 10:04:56

参数说明

  • DROP/TRUNCATE TABLE table_name PURGE

    默认将表数据放入回收站中,PURGE直接清理。

  • PURGE RECYCLEBIN

    表示清理回收站对象。

  • TO BEFORE DROP

    使用这个子句检索回收站中已删除的表及其子对象。

    可以指定原始用户指定的表的名称,或对象删除时数据库分配的系统生成名称。
    • 回收站中系统生成的对象名称是唯一的。因此,如果指定系统生成名称,那么数据库检索指定的对象。使用“select * from gs_recyclebin;”语句查看回收站中的内容。
    • 在指定了用户指定的名称且回收站中包含多个该名称的对象的情况下,数据库检索回收站中最近移动的对象,如果想要检索更早版本的表,可以执行如下操作:

      • 指定你想要检索的表的系统生成名称。

      • 执行TIMECAPSULE TABLE ... TO BEFORE DROP语句,直到你要检索的表。

    • 恢复DROP表时,只恢复基表名,其他子对象名均保持回收站对象名。用户可根据需要,执行DDL命令手工调整子对象名。
    • 回收站对象不支持DML、DCL、DDL等写操作,不支持DQL查询操作(后续支持)。
    • 闪回点和当前点之间,执行过修改表结构或影响物理结构的语句,闪回失败。执行过DDL的表进行闪回操作报错:“ERROR:The table definition of %s has been changed. ”。涉及namespace、表名改变等操作的DDL执行闪回操作报错: ERROR: recycle object %s desired does not exis;
    • 开启enable_recyclebin参数,启用回收站时,如果表上有truncate trigger、truncate表时,无法触发trigger。
  • RENAME TO

    为从回收站中检索的表指定一个新名称。

  • TO BEFORE TRUNCATE

    闪回到TRUNCATE之前。

support.huaweicloud.com/fg-gaussdb-dist-v8/gaussdb-18-0144.html