跳至内容

如何解决 Amazon RDS for PostgreSQL 中的存储空间问题?

1 分钟阅读
0

我的 Amazon Relational Database Service (Amazon RDS) for PostgreSQL 数据库 (DB) 实例使用了其分配的存储空间。我无法连接或重启实例。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

检查使用数据库实例存储的资源

如果您收到 "No space left on device" 或 "DiskFull" 错误消息,请检查使用数据库实例存储的资源。有关更多信息,请参阅为什么我在 Amazon RDS for PostgreSQL 上收到 "No space left on device" 或 "DiskFull" 错误?

增加存储容量

您收到以下错误消息:

"The specified database instance is currently in storage-full state"

当您的数据库实例处于 storage-full(存储已满)状态,并且您尝试修改多个数据库实例参数时,就会出现此错误。当实例存储空间耗尽时,Amazon RDS 会限制修改以保护实例免受潜在问题的影响。

要增加存储空间,请参阅增加数据库实例存储容量

必须将存储空间增加至少当前大小的 10%。如果将该值增加不到 10%,那么您会收到错误。

**注意:**分配更多存储空间后,无法减少存储量。作为替代,您可以使用 Amazon RDS 蓝绿部署来减少存储容量。或者,创建一个具有较小存储空间的新数据库实例。有关更多信息,请参阅如何减少我的 Amazon RDS 数据库实例的存储大小和成本?

监控存储优化

您收到以下错误消息:

"Unable to scale the storage for the reason: DB instance is in the cooling-off period for a previous scale storage operation"

当您在首次修改存储空间后不到 6 小时再次尝试修改存储容量时,就会出现此错误。您必须等待 6 小时,或等到存储优化完成,以时间较长者为准。

要监控存储优化进度,请运行以下 describe-db-instances 命令:

aws rds describe-db-instances --db-instance-identifier instance-id

**注意:**将 instance-id 替换为您的数据库实例 ID。

如果必须立即优化存储,请执行时间点恢复并分配更大的存储空间。或者,从快照恢复并分配更大的存储空间。

防止未来出现存储已满状态

要防止数据库实例出现 storage-full(存储已满)状态,请执行以下操作:

修改最大存储阈值和已分配存储空间

您收到以下错误消息:

"Max storage size must be greater than storage size"

当您的自动扩展配置的最大存储阈值低于或等于您设置的新存储大小时,就会出现此错误。自动扩展的最大阈值必须大于您已分配的存储空间。

要解决此问题,请暂时关闭存储自动扩展。然后,修改您的数据库实例设置,使最大存储阈值大于已分配存储空间

相关信息

处理 Amazon RDS 数据库实例的存储

Amazon RDS 最佳实践

AWS 官方已更新 6 个月前