当有足够的磁盘空间时,为什么postgresql提示错误“也许磁盘空间不足”?

福帕·莱昂·康斯坦丁(FopaLéonConstantin)

我在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) 

但是我从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?

我已使用以下命令检查是否有足够的磁盘空间 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

并且似乎有40GB的可用空间磁盘/home所以我想知道是什么导致这个错误?在postgresql配置中是否可以设置磁盘空间限制参数?

有人对此有想法吗?

克雷格·林格(Craig Ringer)

它正在写入一个临时文件。它们被写入temp_tablespaces,为此:

默认值为空字符串,这将导致在当前数据库的默认表空间中创建所有临时对象。

这意味着它将向您的文件中写入临时文件data_directory要查看其位置,请运行SHOW data_directory我希望您会得到类似的结果/var/lib/pgsql/9.3/data/,表明PostgreSQL的数据在中/var

(请务必进行检查;如果您的临时表空间位于tempfs上,则它基本上是一个ramdisk,并且应将其移至其他位置,因为这不仅对性能不利,而且对大型tempfile也是一个问题。

在您/var/系统上,它是文件系统的一部分,该文件系统已满。因此,包含PostgreSQL数据的分区已满,并且PostgreSQL正确地将其报告为错误。

释放空间的选项包括:

  • 确保/tmp已删除旧的临时文件

  • 从中删除旧的日志文件 /var/log

  • 删除旧的PostgreSQL日志。它们的位置根据OS /发行版而有所不同,您没有提到。他们通常会在/var/log/postgresql/或中/var/lib/pgsql/9.3/data/pg_log重要不要删除PostgreSQL数据目录中的其他内容; 特别是,pg_xlogpg_clog是数据库系统的重要部分,不能被删除,移动,或以任何方式改变。

  • TRUNCATE在PostgreSQL中删除或插入表(永久销毁数据)

  • DROP在PostgreSQL中ping不需要的索引

  • 卸载程序

  • ...

但最好的选择是:

  • 获取更大的磁盘。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当有足够的磁盘空间时,为什么postgresql提示错误“也许磁盘空间不足”?

来自分类Dev

为什么我的磁盘空间不足?

来自分类Dev

TFS Build:磁盘空间错误,即使有足够的空间

来自分类Dev

没有足够的磁盘空间!

来自分类Dev

磁盘空间错误

来自分类Dev

升级时没有足够的可用磁盘空间

来自分类Dev

升级时没有足够的可用磁盘空间

来自分类Dev

如何修复“磁盘空间不足”错误?

来自分类Dev

vmware磁盘空间不足

来自分类Dev

可用磁盘空间不足

来自分类Dev

打开Outlook时出现“没有足够的内存或磁盘空间来完成操作”错误

来自分类Dev

实用程序说,当有足够的可用磁盘空间时,没有更多的可用磁盘空间

来自分类Dev

实用程序说,当有足够的可用磁盘空间时,没有更多的可用磁盘空间

来自分类Dev

尝试将VirtualBox VM更新到Windows 10时,为什么磁盘空间不足?

来自分类Dev

Ubuntu升级:/ var /中没有足够的磁盘空间

来自分类Dev

没有足够的磁盘空间用于启动修复

来自分类Dev

为什么Windows 8.1使用那么多磁盘空间?(如何防止它耗尽所有磁盘空间?)

来自分类Dev

为什么“已用+可用”磁盘空间始终小于总磁盘空间?

来自分类Dev

安装所需的磁盘空间大于移除后释放的磁盘空间:为什么?

来自分类Dev

VirtualBox 机器有可用空间,但磁盘空间不足错误/消息

来自分类Dev

下载内核源代码:错误:磁盘空间不足

来自分类Dev

磁盘空间不足,没有 Gparted 没有更新

来自分类Dev

有空间时没有剩余磁盘空间

来自分类Dev

Cassandra-磁盘空间不足

来自分类Dev

AWS实例中的磁盘空间“ /”不足

来自分类Dev

磁盘空间不足-/ boot为100%

来自分类Dev

AWS实例中的磁盘空间“ /”不足

来自分类Dev

磁盘空间不足-/ boot为100%

来自分类Dev

Zorin OS:磁盘空间不足消息

Related 相关文章

  1. 1

    当有足够的磁盘空间时,为什么postgresql提示错误“也许磁盘空间不足”?

  2. 2

    为什么我的磁盘空间不足?

  3. 3

    TFS Build:磁盘空间错误,即使有足够的空间

  4. 4

    没有足够的磁盘空间!

  5. 5

    磁盘空间错误

  6. 6

    升级时没有足够的可用磁盘空间

  7. 7

    升级时没有足够的可用磁盘空间

  8. 8

    如何修复“磁盘空间不足”错误?

  9. 9

    vmware磁盘空间不足

  10. 10

    可用磁盘空间不足

  11. 11

    打开Outlook时出现“没有足够的内存或磁盘空间来完成操作”错误

  12. 12

    实用程序说,当有足够的可用磁盘空间时,没有更多的可用磁盘空间

  13. 13

    实用程序说,当有足够的可用磁盘空间时,没有更多的可用磁盘空间

  14. 14

    尝试将VirtualBox VM更新到Windows 10时,为什么磁盘空间不足?

  15. 15

    Ubuntu升级:/ var /中没有足够的磁盘空间

  16. 16

    没有足够的磁盘空间用于启动修复

  17. 17

    为什么Windows 8.1使用那么多磁盘空间?(如何防止它耗尽所有磁盘空间?)

  18. 18

    为什么“已用+可用”磁盘空间始终小于总磁盘空间?

  19. 19

    安装所需的磁盘空间大于移除后释放的磁盘空间:为什么?

  20. 20

    VirtualBox 机器有可用空间,但磁盘空间不足错误/消息

  21. 21

    下载内核源代码:错误:磁盘空间不足

  22. 22

    磁盘空间不足,没有 Gparted 没有更新

  23. 23

    有空间时没有剩余磁盘空间

  24. 24

    Cassandra-磁盘空间不足

  25. 25

    AWS实例中的磁盘空间“ /”不足

  26. 26

    磁盘空间不足-/ boot为100%

  27. 27

    AWS实例中的磁盘空间“ /”不足

  28. 28

    磁盘空间不足-/ boot为100%

  29. 29

    Zorin OS:磁盘空间不足消息

热门标签

归档