Fop*_*tin 7 postgresql diskspace temporary-files
我在ubuntu 12.0.4上的postgresql中运行此查询:
SELECT t2.p AS prop, t2.o AS obj, COUNT(t2.o) AS num
FROM "class_Event" AS t1,
((SELECT s,p,o FROM "prop_sliceHasAnomaly")
UNION (SELECT s,p,o FROM "prop_eventHasDuration")
UNION (SELECT s,p,o FROM "prop_sliceHasEndEvent")
UNION (SELECT s,p,o FROM "prop_eventPrecedeInCPU")
UNION (SELECT s,p,o FROM "prop_eventFollowInTask")
UNION (SELECT s,p,o FROM "prop_topObjectProperty")
UNION (SELECT s,p,o FROM "prop_eventDetails")
UNION (SELECT s,p,o FROM "prop_switchTo")
UNION (SELECT s,p,o FROM "prop_eventIsExecutedOn")
UNION (SELECT s,p,o FROM "prop_runningAction")
UNION (SELECT s,p,o FROM "prop_anomalyHasSlice")
UNION (SELECT s,p,o FROM "prop_eventPrecedeInTrace")
UNION (SELECT s,p,o FROM "prop_sliceHasStartEvent")
UNION (SELECT s,p,o FROM "prop_eventHasActiveDuration")
UNION (SELECT s,p,o FROM "prop_eventFollowInTrace")
UNION (SELECT s,p,o FROM "prop_runningTask")
UNION (SELECT s,p,o FROM "prop_eventOrdering")
UNION (SELECT s,p,o FROM "prop_domain")
UNION (SELECT s,p,o FROM "prop_sliceHasFunctionality")
UNION (SELECT s,p,o FROM "prop_traceContainsEvent")
UNION (SELECT s,p,o FROM "prop_eventHasDurationFromPreviousOccurrence")
UNION (SELECT s,p,o FROM "prop_eventPrecedeOccurrence")
UNION (SELECT s,p,o FROM "prop_eventPrecedeinTask")
UNION (SELECT s,p,o FROM "prop_switchFrom")
UNION (SELECT s,p,o FROM "prop_eventEndAt")
UNION (SELECT s,p,o FROM "prop_subPropertyOf")
UNION (SELECT s,p,o FROM "prop_eventFollowOccurrence")
UNION (SELECT s,p,o FROM "prop_eventFollowInCPU")
UNION (SELECT s,p,o FROM "prop_subClassOf")
UNION (SELECT s,p,o FROM "prop_eventHasDurationToNextOccurrence")
UNION (SELECT s,p,o FROM "prop_requestComponent")
UNION (SELECT s,p,o FROM "prop_eventStartAt")
UNION (SELECT s,p,o FROM "prop_range")
UNION (SELECT s,p,o FROM "prop_functionalityHasSlice") ) AS t2
WHERE t1.s = t2.s
GROUP BY t2.p, t2.o
HAVING (COUNT(t2.o) > 1)
Run Code Online (Sandbox Code Playgroud)
但是我从posgresql出来了这个错误:
ERROR: could not write block 713 of temporary file: Aucun espace disponible sur le périphérique
HINT: Perhaps out of disk space?
********** Erreur **********
ERROR: could not write block 713 of temporary file: Aucun espace disponible sur le périphérique
État SQL :53100
Astuce : Perhaps out of disk space?
Run Code Online (Sandbox Code Playgroud)
我已经通过命令检查了足够的磁盘空间 df -h
df -h
df: «/var/lib/lightdm/.gvfs»: Permission non accordée
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda5 37G 35G 46M 100% /
udev 16G 4,0K 16G 1% /dev
tmpfs 6,3G 984K 6,3G 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 16G 216K 16G 1% /run/shm
/dev/sda6 37G 411M 35G 2% /opt
/dev/sda9 499G 435G 40G 92% /home
/dev/sda7 37G 4,7G 30G 14% /usr
/dev/sda8 37G 5,1G 30G 15% /usr/local
Run Code Online (Sandbox Code Playgroud)
而且似乎有40GB的可用空间磁盘/home
.所以我想知道是什么让这个错误引起的?是否有可以在postgresql配置中设置的磁盘空间限制参数?
有人对此有所了解吗?
Cra*_*ger 11
它正在写一个临时文件.他们被写入temp_tablespaces
,其中:
默认值为空字符串,这会导致在当前数据库的默认表空间中创建所有临时对象.
这意味着它会将临时文件写入你的data_directory
.要查看它的位置,请运行SHOW data_directory
.我希望你会得到一个结果/var/lib/pgsql/9.3/data/
,表明PostgreSQL的数据在/var
.
(确保检查一下;如果临时表空间在tempfs上,那么它基本上是一个ramdisk,你应该把它移到别处,因为这对于性能不好,对于大的临时文件也是一个问题.)
在您的系统上,/var
是/
文件系统的一部分,它已满.因此包含PostgreSQL数据的分区已满,PostgreSQL正确地将此报告为错误.
自由空间的选项包括:
确保/tmp
删除旧的临时文件
从中删除旧的日志文件 /var/log
删除旧的PostgreSQL日志.根据OS /发行版,它们的位置有些变化,你没有提到; 他们通常会在/var/log/postgresql/
或/var/lib/pgsql/9.3/data/pg_log
.重要提示:不要删除PostgreSQL数据目录中的任何其他内容 ; 特别是,pg_xlog
它pg_clog
是数据库系统的重要组成部分,不得以任何方式删除,移动或更改.
删除TRUNCATE
PostgreSQL中的表(永久销毁数据)
DROP
在PostgreSQL中ping不需要的索引
卸载程序
...
但最好的选择是:
归档时间: |
|
查看次数: |
5098 次 |
最近记录: |