Moving forward advice:
* Run the query more than once before doing a manual vacuum to rule out caching.
* Change your flags for the vacuumdb from --quiet to --verbose and we can see exactly what vacuum has done. Ideally have cron append to a file on disk
* Similarly, set log_autovacuum_min_duration to 0 (which logs all autovacuum activity).
* As mentioned upthread, use explain (analyze, buffers, settings) for better output
* Using the pg_buffercache extension can show you exactly what is in shared buffers (for future debugging)
Cheers,
Greg
--
Enterprise Postgres Software Products & Tech Support