如何正确解释真空进度命令的输出? select * from svv_vacuum_progress;

时间:2016-02-23 21:45:02

标签: sql amazon-redshift

我正在运行命令status;和RedShift在Vacuum select count(blocknum) from stv_blocklisttime_remaining_estimate中回复了以下内容。 null列的值为Vacuum select count(blocknum) from stv_blocklist

我的问题是状态IModify modification = modification.Get(); using (ITransaction transaction = Transaction.Get()) { try { modification.Modify(); //do some changes transaction.Commit(); } catch { transaction.Rollback(); } } 的真正含义。我无法找到有关此状态的文档。

3 个答案:

答案 0 :(得分:4)

我发现这个观点( svv_vacuum_progress )在某种程度上是不可行的。有时状态显示完整,这很好,但有时它会显示其他内容,即使真空已经完成。它似乎取决于真空所需的时间,但不依赖于这种说法。目前文档也很差。

如果您的用例与我的相似(即使您没有具体询问此问题) - 检查当前是否有真空运行,如果没有,运行它 - 那么您可以使用以下内容:

SELECT *
FROM stv_recents
WHERE status = 'Running' AND query ILIKE '%VACUUM%';

当然,您可以根据自己的要求修改查询。我希望这可以帮助你或其他人!

答案 1 :(得分:0)

这只是意味着被吸尘的最后一个表是stv_blocklist并且它当前没有被吸尘。

Here is the documentation,您可以在底部看到示例输出。

答案 2 :(得分:0)

您无法可靠地使用sql查询来检查真空的进度,因为该过程在操作期间会多次显示为完成。它可能必须在步骤之间停止。

到目前为止,我找到的最佳解决方案是使用详细选项运行真空,并在查询选项卡中查看redshift控制台。 在那里,您将更详细地了解您的真空发生了什么