问题描述

阿里云云数据库PostgreSQL数据库磁盘空间占用剧增。

问题原因

  • 原因一:大量更新导致日志剧增,来不及归档和删除,占用了磁盘空间。
  • 原因二:查询操作含有大数据量的排序、连接等操作,处理过程中产生临时表并溢出到磁盘,短时间内造成大量空间占用。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
  • 原因一的解决方法:提高实例的磁盘空间容量或降低更新频率。
  • 原因二的解决方法:以下SQL语句用于指定每个查询可以使用的临时表空间上限(单位为KB),执行成功后,单个查询生成的临时表空间达到上限就会报错。这样就能及时发现有问题的SQL语句,并避免磁盘空间被占满。通过RDS初始帐号执行以下SQL语句:
    alter role all set temp_file_limit = [$Table_Space_Limit];
    说明:[$Table_Space_Limit]为临时表空间上限。

适用于

  • 云数据库RDS PostgreSQL版

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。