SNAPSHOT

    注意事项

    • 本特性GUC参数db4ai_snapshot_mode,快照存储模型分为MSS和CSS两种;GUC参数db4ai_snapshot_version_delimiter,用于设定版本分隔符,默认为“@”;GUC参数db4ai_snapshot_version_separator,用于设定子版本分隔符,默认为“.”。
    • 当快照选用增量存储方式时,各个快照中具有依赖关系。删除快照需要按照依赖顺序进行删除。
    • snapshot特性用于团队不同成员间维护数据,涉及管理员和普通用户之间的数据转写。所以在私有用户、三权分立(enableSeparationOfDuty=ON)等状态下,数据库不支持snapshot功能特性。
    • 当需要稳定可用的快照用于AI训练等任务时,用户需要将快照发布。
    1. 创建快照。

      可以采用“CREATE SNAPSHOT … AS”以及“CREATE SNAPSHOT … FROM”语句创建数据表快照

      • CREATE SNAPSHOT AS

    2. 删除快照。

      1. PURGE SNAPSHOT <qualified_name> @ <version | ident | sconst>;
    3. 快照发布。

      PUBLISH SNAPSHOT

    4. 快照存档。

      1. ARCHIVE SNAPSHOT <qualified_name> @ <version | ident | sconst>;

    参数说明

    • qualified_name

      创建snapshot的名称。

      取值范围:字符串,需要符合标识符命名规则。

    • version

      (可省略)snapshot的版本号,当省略设置。系统会自动顺延编号。

    1. create snapshot s1@1.0 comment is 'first version' as select * from t1;
    1. create snapshot s1@3.0 from @1.0 comment is 'inherits from @1.0' using (INSERT VALUES(6, 'john'), (7, 'tim'); DELETE WHERE id = 1);
    1. purge snapshot s1@1.0;

      相关链接