The Database Instance disk space includes database engine logs.
Dealing with disk_full mode in a Database Instance
Whenever your Database Instance volume is close to reaching full capacity, your Database Instance switches to disk_full
mode.
The Database Instance switches to disk_full
mode when the free space falls under 2% of the total volume size.
For Database Instances where 2% of the volume size is more than 2 GB, this threshold is 2 GB.
This state allows you to increase your volume, if you use Block Storage, or upgrade your node type. You can also clear some space in your volume to increase your capacity.
When the Database Instance switches to disk_full
state, the default transaction mode automatically switches to read only
. This allows your applications to still access its data, while preventing new data from being added.
You can check your current engine logs consumption by using the Scaleway CLI:
scw rdb log list-details instance-id=11111111-1111-1111-1111-111111111111Details.0.LogName postgresql-01.logDetails.0.Size 64257Details.1.LogName postgresql-02.logDetails.1.Size 81560...
You have the possibility to purge a single file or all the log files:
# Purge a single filescw rdb log purge instance-id=11111111-1111-1111-1111-111111111111 log-name=postgresql-01.log# Purge all your logsscw rdb log purge instance-id=11111111-1111-1111-1111-111111111111
How to clear out space used by your Database engine
-
Run the following commands to shift to a
read write
transaction:-- On PostgreSQLBEGIN;SET TRANSACTION READ WRITE;-- On MySQLSET transaction_read_only=0;BEGIN; -
Clear out data from your database.
-
Commit your changes.
COMMIT;
When your Database Instance has enough space again, the default transaction mode changes back to read write
, allowing operations to return to normal.
Failing to clear out some of your data or forcing insertions while the database is in disk_full
mode leads to downtime.