历史查询

Vertica 可以执行历史查询,这些查询针对在特定时间戳或时期获取的数据库快照执行。历史查询可用于评估并可能恢复已删除但尚未清除的数据。

您可以通过限定包含 AT epoch 子句的 SELECT 语句来指定历史查询,其中 epoch 为以下内容之一:

  • EPOCH LATEST:返回数据直到当前时期(但不包括当前时期)。结果集包括来自最新提交的 DML 事务的数据。

  • EPOCH integer:返回数据直到 integer 指定的时期(包括该指定时期)。

  • TIME 'timestamp':从 timestamp 指定的时期返回数据。

有关 Vertica 如何使用时期的详细信息,请参阅时期

历史查询仅返回指定时期的数据。由于它们不返回最新数据,因此历史查询不包含锁定或阻塞写操作。

查询结果对于事务而言是私有的,并且只在会话时长内有效。无论事务隔离级别如何,查询执行都是相同的。

限制

  • 指定时期或指定时间戳的时期不能小于 Ancient History Mark 时期。

  • Vertica 不支持对临时表运行历史查询。