gpt4 book ai didi

postgreSQL 不使用临时表空间

转载 作者:行者123 更新时间:2023-11-29 12:33:46 24 4
gpt4 key购买 nike

我目前在运行一些查询时遇到了空间问题,postgreSQL 用完了临时空间。查询生成几 GB 的列表(并且它们已经是分割的部分)

暂时我想通过将 temp_tablespace 移动到另一个文件夹来解决它,然后再移动整个数据库作为下一步。

etc/postgresql.conf

temp_tablespaces = '/var/lib/postgresql/9.2/importdb02/tmp_consDB'

/var/lib/postgresql/9.2/importdb02/

drwxr-xr-x  2 postgres postgres 4096 May 22 12:08 tmp_consDB

postgresql:postgresql 是文件夹的所有者,我重新启动了,但 postgreSQL 仍然没有使用这个表空间进行查询。

当我运行查询并通过 DF 监视可用空间时,它仍在为这些临时表使用主表空间,我还可以看到文件夹/var/lib/.../base/pgsql_tmp 在增加temp_tablespace 文件夹保持为空。

所有的查询看起来都是这样

COPY(
SELECT column_a,
column_b,
(around 8 group by columns)
sum(tosumup),
sum(tosumup)
(up to 100 sum columns)
FROM master_table
WHERE id>=25000 AND id<50000 (running in batches)
GROUP BY
group by colums
) TO stdout WITH DELIMITER ';' CSV HEADER;

我在这里缺少什么?

我的替代解决方案是将/base/pg_tmp 链接到另一个驱动器,但这是黑客版本。


我在 Clodoaldo Neto 的回答后做了这个

作为 postgres

CREATE TABLESPACE tempimpdb02 LOCATION '/var/lib/postgresql/9.2/importdb02/tmp_consDB';

/变量/等

temp_tablespaces = 'tempimpdb02'

重新启动,检查一切

postgres=# SELECT * FROM pg_tablespace;
spcname | spcowner | spcacl | spcoptions
-------------+----------+--------+------------
pg_default | 10 | |
pg_global | 10 | |
tempimpdb02 | 10 | |
(3 rows)


postgres=# show temp_tablespaces;
temp_tablespaces
------------------
tempimpdb02
(1 row)

现在/var/lib/postgresql/9.2/importdb02/tmp_consDB (PG_9.2....) 中有一个文件夹。

但查询仍然使用/base/psql_temp 作为临时数据,'tempimpdb02' 中的文件夹是空的。

最佳答案

传递给 temp_tablespaces is a list of names of tablespaces 的值. tablespace must be created first作为 super 用户:

CREATE TABLESPACE tempimpdb02 LOCATION '/var/lib/postgresql/9.2/importdb02/tmp_consDB';

现在在该表空间中创建一个表:

create table t tablespace tempimpdb02 as 
SELECT column_a,
column_b,
(around 8 group by columns)
sum(tosumup),
sum(tosumup)
(up to 100 sum columns)
FROM master_table
WHERE id>=25000 AND id<50000 (running in batches)
GROUP BY group by colums

必须在该表空间中具有创建权限。

关于postgreSQL 不使用临时表空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16713229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com