Performance 无法写入哈希联接临时文件:设备上没有剩余空间
我正在执行PostgreSQL函数来更新一个包含大量数据的表,每天更新大约100000条记录。在更新过程中,我收到一条错误消息,上面说:Performance 无法写入哈希联接临时文件:设备上没有剩余空间,performance,postgresql,space,tablespace,Performance,Postgresql,Space,Tablespace,我正在执行PostgreSQL函数来更新一个包含大量数据的表,每天更新大约100000条记录。在更新过程中,我收到一条错误消息,上面说: "could not write to hash-join temporary file: No space left on device" 我还没有真正能够得到一些有用的东西来克服这个错误。我得到了一些东西,上面写着设置一个临时的桌子空间。但我无法找到如何创建一个临时表空间,在执行更新过程期间,数据将存储在该表空间中 SQL>createtablespac
"could not write to hash-join temporary file: No space left on device"
我还没有真正能够得到一些有用的东西来克服这个错误。我得到了一些东西,上面写着设置一个临时的桌子空间。但我无法找到如何创建一个临时表空间,在执行更新过程期间,数据将存储在该表空间中
SQL>createtablespacetemp_tbs location'/some/big/disk'代码>
temp_表空间='temp_tbs'
选择pg_reload_conf()代码>
我也有同样的问题,但我和docker一起工作 以防万一,如果您也在与docker合作,请访问:
Docker首选项
磁盘面板
磁盘映像大小
并增加它
它解决了我的问题。
SET temp\u tablespaces=temp\u tbs
也可以使用我们如何知道正在执行的函数将使用这个特定的临时表空间?@YousufSultan它使用临时表空间中提到的任何一个。。。因此,如果您在逗号内指定severeal,它将按照您提供的顺序使用其中任何一个。如果您只指定一个-它使用它,如果未设置,它使用pg_Defaults是否还有其他方法,因为我没有权限进行postgres配置,也无法创建临时表空间?否-如果您没有权限使用大磁盘,您不能使用它…您的PostgreSQL数据所在的磁盘空间是否已用完?不,磁盘有很多可用空间。