Clean start again. Just try to fetch blocks from cache in band. If not found, raise a query. Then, execute RasterIO over the VRT band. Missing part: copy ALL the cache blocks from VRT band to PostGIS Raster band after finishing. Hard part is to create a query based on just the missing blocks