Reputation: 18770
I am working with the AWS Aurora PostgreSQL 10.4 engine. I am trying to cluster table ... using index
and getting an error like
could not write block .... of temporary file: no space left on device
If I were managing my own PostgreSQL instance I would be looking at the space available on individual volumes with df
. (See also: I get an error "could not write block .... of temporary file no space left on device ..." using postgresql)
But with Aurora, AWS should be managing the storage and automatically expanding it on demand. So I'm wondering how I would go about fixing this condition if I'm not managing the storage myself. I'm guessing that that the PG engine's temp storage is separate from the Aurora-managed virtualized storage layer, but not sure how to change it.
Upvotes: 8
Views: 7149
Reputation: 351
Temp space uses the local “ephemeral” volume on the instance. Currently the only way to increase that space is to move to a larger instance size.
Upvotes: 7
Reputation: 2820
You're right in stating that Aurora should take care of this. If you have multiple instances in your cluster, then your cluster would self recover by initiating a failover. The faulty instance would be repaired in the background as well - mostly automatically, and in some rare cases by AWS operators.
If you noticed the issue persisting for more than a few minutes, then you should:
If you think AWS missed your SLA, then do bring it to their notice as well.
AWS will use commercially reasonable efforts to make Multi-AZ instances available with a Monthly Uptime Percentage (defined below) of at least 99.95% during any monthly billing cycle (the "Service Commitment"). In the event Amazon RDS does not meet the Monthly Uptime Percentage commitment, you will be eligible to receive a Service Credit
Doc: https://aws.amazon.com/rds/sla/
Upvotes: 1