移动 PostgreSQL 临时文件位置

移动 PostgreSQL 临时文件位置

如何移动 PostgreSQL 临时文件/缓存位置?我的系统分区空间有限,所以它总是抛出类似这样的错误:

ERROR: could not extend file "base/16384/16563.1": wrote only 4096 of 8192 bytes at block 207279
SQL state: 53100
Hint: Check free disk space.

答案1

要控制 PostgreSQL 放置临时文件的位置,首先要创建一个或多个表空间保存临时文件,然后设置临时表空间配置变量来指定这些表空间。

重启后表空间目录继续存在很重要。临时文件从其中消失是可以的,但目标目录必须存在否则 PostgreSQL 将无法启动。

您甚至可以tablespace为等提供一个明确的参数CREATE TEMPORARY TABLE ...,如果您比数据库服务器更了解工作负载,那么它允许您控制在何处分配 I/O。

相关内容