For many years, people have asked for a progress tracker for vacuum. Finally, PostgreSQL 9.6 makes this wish come true by introducing a new system view. Here is how it works:
postgres=# SELECT * FROM pg_stat_progress_vacuum ?-[ RECORD 1 ]------+--------------pid | 29546datid | 67535datname | testrelid | 16402phase | scanning heapheap_blks_total | 6827heap_blks_scanned | 77heap_blks_vacuumed | 0index_vacuum_count | 0max_dead_tuples | 154num_dead_tuples | 0
PostgreSQL will provide detailed information about ongoing vacuum processes so that people can track the progress of this vital operation.