On 07/04/13 08:20, Jeff Janes wrote:
> I've often wanted to know what the autovacuum worker was doing. The
> process title seems like the best place to get this information, but the
> process title tells me what database it is in, but not what table it is
> working on.
>
> The attached patch demonstrates the concept of what I want. I put the
> code in table_recheck_autovac not because I think that is the best
> location, but just because it was the easiest point at which I knew how
> to get the table name easily before classTup gets destroyed.
>
> Example output:
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 16392 jjanes 20 0 229m 19m 6948 S 3.6 1.0 0:06.85 postgres:
> autovacuum worker process jjanes.public.pgbench_accounts
>
>
> I never reset the process title back to the initial state of just having
> a database name and no table. Which I can get away with temporarily
> because the autovac worker never dilly-dallies between tables, it either
> goes to the next one, or exits. A real implementation would probably
> want to reset it anyway, though.
>
> Is this functionality something we want? If so should it include
> explicit vacuum as well as autovac? Any opinion about where in the code
> base it properly belongs (which obviously depends on whether it should
> cover manual vacuum as well)? And does the string need to distinguish
> between an autovac and an autoanalyze?
> Cheers,
>
> Jeff
>
Knowing whether it is vacuuming or analyzing seems like a nice idea +1
Cheers
Mark