On Mon, 2007-07-23 at 18:59 -0400, Tom Lane wrote:
> "Simon Riggs" <simon@2ndquadrant.com> writes:
> > Thanks for reading. Updated version in new patch.
>
> What was the reasoning for basing walwriter.c on autovacuum (which needs
> to be able to execute transactions) rather than bgwriter (which does
> not)?
Writing WAL means we have to have xlog access and therefore shared
memory access. Don't really need the ability to execute transactions
though, tis true, but I wasn't aware there was a distinction.
> The shutdown logic in particular seems all wrong; you can't have
> a process connected to shared memory that is going to outlive the
> postmaster.
It seemed to work cleanly when I tested it initially, but I'll take
another look tomorrow. By version 23 I was going code-blind.
Autovac is the most clean implementation of a special process, so seemed
like a good prototype. I'd thought I'd combed out any pointless code
though.
--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com