Estimate full vacuum time
Tonight during an upgrade of our systems I was doing a full vacuum on a couple of tables and I started to wonder how long it would take.
After poping the question on #postgresql@freenode Steve Atkins (I think it was) suggested I could get kind of a feeling of progress by looking at the file nodes.
So I did and it gave sort of a feeling about what stuff was happening but it was kind of a hassle to do. (I had one psql open and one xterm looking at the relfileno in one and the file node modification time in the other.)
This got me thinking that if I get a list of file nodes involved before I start the (full) vacuum I should be able to keep track of progress by using something like inotify. The idea is still a bit rough and I need to look into exactly what goes on during a full vacuum (like when are things written to disk) but I still think it's doable.
Would this kind of approach be useful for anything or am I just rambling? (After all it is 4:20am here now...)