Postgres "no space left on device"

Hi all,

I cannot start the postgres container anymore because there is no space left. I was asked to do some cleaning without removing the containers and deleting all the data in the database.
Is that possible?
And for the future, is there a way to avoid the growth of the db, for example by discarding the events after some time?

Thank you.

1 Like

Weird, I believe telemetry data is stored in Redis.
So Postgres mostly stores “static” data.

I’ll check the Redis DB then. It could easily be that the Redis DB is taking up most of the space on the actual disk and then the one suffering from this is the postgres DB.

Yes, it is possible to clean up the PostgreSQL container and reclaim disk space without removing the containers or deleting all the data in the database. Here are a few steps you can take:

  1. Prune Docker resources: Run the following command to remove unused Docker resources such as stopped containers, unused networks, and dangling images:
docker system prune

This will free up disk space by removing unnecessary resources.

  1. Check PostgreSQL logs: Examine the PostgreSQL logs to identify any error messages or warnings related to disk space. This can help you identify specific areas that may be consuming excessive disk space.

  2. Clean up old logs and backups: If you have enabled logging and backups in your PostgreSQL configuration, review and delete any old logs or backups that are no longer needed. These files can consume significant disk space over time.

Regarding the growth of the database in the future, you can implement strategies to manage and control the disk space usage:

  1. Implement data retention policies: Define a data retention policy that specifies how long you want to retain data in the database. Periodically delete or archive older data that is no longer needed for analysis or reporting.

  2. Configure log rotation: Configure log rotation in PostgreSQL to limit the size of log files and automatically rotate them. This helps prevent log files from consuming excessive disk space.

  3. Implement partitioning: If your application generates large amounts of data, consider implementing partitioning in your PostgreSQL database. Partitioning allows you to split large tables into smaller, more manageable partitions based on criteria such as date ranges. This can help optimize disk space usage and query performance.

  4. Regularly monitor and optimize queries: Identify and optimize resource-intensive queries that may contribute to excessive disk space usage. Optimize the database schema and indexes to improve query performance and reduce disk space requirements.

By implementing these strategies, you can effectively manage disk space usage in your PostgreSQL container and avoid excessive growth of the database.

1 Like

If you enable postgres in your integration, then the table for event_up might have caused it.
The event_up table records all the packets received by your network server.
You can do query to this table to remove the oldest data or you can truncate and restart its identity if
its ok for you to lose all the previous packet received.