openGauss学习笔记154 openGauss 数据库运维备份与恢复闪回恢复

openGauss学习笔记-154 openGauss 数据库运维-备份与恢复-闪回恢复154.1 闪回查询154.1.1 背景信息154.1.2 前提条件154.1.3 语法154.1.4 参数说明154.1.5 使用示例154.2 闪回表154.2.1 背景信息154.2.2 前提条件154.2.3 语法154.2.4 使用示例154.3 闪回DROP/TRUNCATE154.3.1 背景信息154.3.2 前提条件154.3.3 相关语法154.3.4 参数说明154.3.5 语法示例

openGauss学习笔记-154 openGauss 数据库运维-备份与恢复-闪回恢复

闪回恢复功能是数据库恢复技术的一环,可以有选择性的撤销一个已提交事务的影响,将数据从人为不正确的操作中进行恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。采用闪回技术后,恢复已提交的数据库修改前的数据,只需要秒级,而且恢复时间和数据库大小无关。

说明:

ASTORE引擎暂不支持闪回DROP/TRUNCATE。

  • 闪回查询

  • 闪回表

  • 闪回DROP/TRUNCATE

154.1 闪回查询

154.1.1 背景信息

闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。

154.1.2 前提条件

  • undo_retention_time参数用于设置undo旧版本的保留时间。

154.1.3 语法

{[ ONLY ] table_name [ * ] [ partition_clause ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
[ TABLESAMPLE sampling_method ( argument [, ...] ) [ REPEATABLE ( seed ) ] ]
[TIMECAPSULE { TIMESTAMP | CSN } expression ]
|( select ) [ AS ] alias [ ( column_alias [, ...] ) ]
|with_query_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
|function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ]
|function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] )
|from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]}

  • 指要查询某个表在TIMESTAMP这个时间点上的数据,TIMESTAMP指一个具体的历史时间。