我有三个表空间。其中两个磁盘上的~400 one是免费的,一个磁盘上的~200 one是免费的。我希望设置temp_tablespaces,以减少使用后一个磁盘的频率,以防空间不足。我该怎么做?
发布于 2016-07-06 01:27:49
假设您的表空间是ts1、ts2和ts3,其中ts3是较小的。
ALTER DATABASE your_database SET temp_tablespaces = ts1, ts1, ts2, ts2, ts3
看起来在temp_tablespaces列表中保留了重复的值,根据加权随机选择,这样Postgres更有可能编写临时文件(这些表空间)。事务按顺序使用表空间,这也会产生大致相同的加权分布(文档)。因此,ts3现在应该有大约1/2的用法作为其他两个表空间。
我现在试着做一些很大的查询。我看到前两部使用84 one,最后一部使用40 one。
https://serverfault.com/questions/788145
复制相似问题