Tom Lane wrote:

If you aren't a backend then you couldn't safely access shared memory,
including FSM in particular. I see no reason you couldn't use GUC
though. There is no "direct pipe connection" to the stats collector,
except in the output direction which is not what you want, so I'm not
seeing your point there.



I probably said that wrong, but how do backends get their stats data? Meaning, when I do a "select * from pg_stat_all_tables" how is the backend getting that data. The reason I'm interested is that if I don't have to fire up a backend just to check the stats that would reduce the load associated with the autovacuum daemon. Someone earlier in the thread seemed to imply there was a way to do this.


I am not sure that lack of FSM access is a showstopper, though. We
could easily imagine inventing backend commands to read out whatever
info you want from FSM, so you could request the info from your
connected backend.



Yeah I agree, and for phase 1 we can just continue working only on stats data.


The more I think about this the more I like it --- it keeps the autovac
control code still at arms length from the backend which will surely
ease development and experimentation.  I suppose there is some overhead
in pushing data back and forth over the FE/BE protocol, but surely that
would be negligible next to the "real work" of vacuuming.


Right, I think the overhead would be negligible. Since you seem to think this is (or at least might be) a good idea, I will go ahead and try to get the postmaster to fire-up the autovacuum daemon. So that the 1st cut, will basically be pg_autovacuum exactly as it stands now, just launched by the postmaster.


Also, you didn't mention if I will be able to use the backend logging functions, I would guess that I can, but I'm not totally sure.

Thanks again,

Matthew


---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly

Reply via email to