Re: Streaming replication and non-blocking I/O

Greg Stark <gsstark@mit.edu>

From: Greg Stark <gsstark@mit.edu>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Fujii Masao <masao.fujii@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2009-12-22T11:36:03Z
Lists: pgsql-hackers
On Tue, Dec 22, 2009 at 6:30 AM, Heikki Linnakangas
<heikki.linnakangas@enterprisedb.com> wrote:
> I think we can just use load_external_function() to load the library and
> call WalReceiverMain from AuxiliaryProcessMain(). Ie. hard-code the
> library name. Walreceiver is quite tightly coupled with the rest of the
> backend anyway, so I don't think we need to come up with a pluggable API
> at the moment.

Please? I am really interested in replacing walsender and walreceiver
with something which uses a communication bus like spread instead of a
single point to point connection.

ISTM if we start with something tightly coupled it'll be hard to
decouple later. Whereas if we start with a limited interface we'll
learn just how much information is really required by the modules and
will have fewer surprises later when we find suprising
interdependencies.


-- 
greg