类型: | string |
上下文: | user |
重新开始: | false |
这个变量指定当一个CREATE命令没有显式指定一个表空间时,创建临时对象(临时表和临时表上的索引)的默认表空间。用于排序大型数据集的临时文件也被创建在这些表空间中。
该值是一个表空间名字的列表。当列表中有多于一个名称时,每次一个临时对象被创建时PostgreSQL随机选择列表中的一个成员。例外是在一个事务中,连续创建的临时对象被放置在里表中的连续表空间中。如果列表被选中元素是一个空字符串,PostgreSQL将自动使用当前数据库的默认表空间。
当temp_tablespaces
被交互式地设置时,指定一个不存在的表空间是一种错误,类似于为用户指定一个不具有CREATE
权限的表空间。不过,当使用一个之前设置的值时,不存在的表空间会被忽略,就像用户缺少CREATE
权限的表空间一样。特殊地,使用一个在postgresql.conf中设置的值时,这条规则起效。
默认值是一个空字符串,它使得所有临时对象被创建在当前数据库的默认表空间中。
建议 [EN]
For applications which create lots of temporary objects, this setting can be used to put the temp space on a faster/separate device, or even a ramdisk. Because it accepts a list, it can even be used to load balance temp object creation among several tablespaces.