Hello, I'am currently trying to implement some simple disc space limitation mechanism for my database. Database is partition based and insert-only - I insert new rows to the current partition and drop oldest partition when disc space limit exceeded.
Algorithm is quite simple and it seems it works but I must ensure two assumptions to avoid extra VACUUM/ANALYZE calls: 1. pg_total_relation_size return predictable approximately correct table size (apart from some preallocation) without subsequent VACUUM/ANALYZE/anything call as long as I don't DELETE/UPDATE rows; 2. DROP/TRUNCATE table reclaim disc space without subsequent VACUUM; These assumptions are correct? Is it fixed in doc if so?