为查询设置运行时限制

可以为允许查询运行的时间长度设置限制。您可以将此限制设置为三个级别,按优先级降序排列:

  1. 要将用户分配到的资源池。

  2. 具有 RUNTIMECAP(由 CREATE USER/ALTER USER 配置)的用户配置文件 ALTER USER

  3. 会话查询(由 SET SESSION RUNTIMECAP 设置) SET SESSION RUNTIMECAP

在所有情况下,您都可以使用不超过一年的 interval 值设置运行时限制。在多个级别设置运行时限制时,Vertica 始终使用最短的值。如果为非超级用户设置了运行时限制,则该用户无法将任何会话设置为更长的运行时限制。超级用户可以将其他用户和他们自己的会话的运行时限制设置为不超过一年(包含)的任意值。

示例

user1 被分配至 ad_hoc_queries 资源库:

=> CREATE USER user1 RESOURCE POOL ad_hoc_queries;

user1RUNTIMECAP 设置为 1 小时。

=> ALTER USER user1 RUNTIMECAP '60 minutes';

ad_hoc_queries 资源池的 RUNTIMECAP 设置为 30 分钟。

=> ALTER RESOURCE POOL ad_hoc_queries RUNTIMECAP '30 minutes';

在本例中,如果 user1 的查询超过 30 分钟,Vertica 会终止这些查询。尽管 user1 的运行时间限制设置为一小时,但运行查询的池(具有 30 分钟的运行时间限制)具有优先权。

另请参阅