On Fri, 2008-09-05 at 23:21 +0900, Fujii Masao wrote:
> b) Use new background process as WALSender
>
> This idea needs background-process hook which enables users
> to define new background processes. I think the design of this
> hook resembles that of rmgr hook proposed by Simon. I define
> the table like RmgrTable. It's for registering some functions
> (e.g. main function and exit...) for operating a background
> process. Postmaster calls the function from the table suitably,
> and manages a start and end of background process. ISTM that
> there are many uses in this hook, e.g. performance monitoring
> process like statspack.
Sorry, but the comparison with the rmgr hook is mistaken. The rmgr hook
exists only within the Startup process and I go to some lengths to
ensure it is never called in normal backends. So it has got absolutely
nothing to do with generating WAL messages (existing/new/modified) or
sending them since it doesn't even exist during normal processing.
The intention of the rmgr hook is to allow WAL messages to be
manipulated in new ways in recovery mode. It isn't a sufficient change
to implement replication, and the functionality is orthogonal to
streaming WAL replication.
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support