SET SESSION TEMPSPACECAP

设置 会话发出的任何请求可以消耗的最大临时文件存储量。如果查询的执行计划所需的存储空间超出会话 TEMPSPACECAP,将会返回错误。

语法

SET SESSION TEMPSPACECAP limit

参数

限制
分配给当前会话的最大临时文件存储量,为以下几项之一:
  • NONE (默认值):临时存储不受限制

  • = DEFAULT:会话 TEMPSPACECAP 设置为用户的 TEMPSPACECAP 值。

  • 用于指定存储限制的字符串,为以下几项之一:

    • int% 将最大值表示为资源管理器可用的临时总存储的百分比,其中 int 为 0 至 100 之间的整数值。例如:

      SET SESSION TEMPSPACECAP '40%';
      
    • int{K|M|G|T} 以 KB、MB、GB 或 TB 表示存储分配。例如:

      SET SESSION TEMPSPACECAP '10G';
      

特权

非超级用户:

  • 仅限于设置自己的会话

  • 会话 TEMPSPACECAP 不能大于其自己的 TEMPSPACECAP

示例

将会话 TEMPSPACECAP 设置为 20 GB:

=> SET SESSION TEMPSPACECAP '20G';
SET
=> SHOW TEMPSPACECAP;
     name     | setting
--------------+----------
 tempspacecap | 20971520
(1 row)

将会话 TEMPSPACECAP 设置为不受限制:

=> SET SESSION TEMPSPACECAP NONE;
SET
=> SHOW TEMPSPACECAP;
     name     |  setting
--------------+-----------
 tempspacecap | UNLIMITED
(1 row)

另请参阅