PostgreSQL uses MVCC to manage data consistency. When a row is deleted, PostgreSQL marks the space occupied by the data as available for reuse by the database but does not physically remove it immediately. This space can then be used to store new data as it comes in. Even if you turned autovacuum off, manual vacuuming is necessary to reclaim space or prevent transaction ID wraparound issues.
To manually reclaim disk space
VACUUM FULL;
since this operation can lock the tables while vacuuming you need to be careful with this command