我正在运行命令status
;和RedShift在Vacuum select count(blocknum) from stv_blocklist
列time_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();
}
}
的真正含义。我无法找到有关此状态的文档。
答案 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控制台。 在那里,您将更详细地了解您的真空发生了什么