Re: HOOKS for Synchronous Replication? - Mailing list pgsql-hackers

From Jan Wieck
Subject Re: HOOKS for Synchronous Replication?
Date
Msg-id 43988AFF.5010804@Yahoo.com
Whole thread Raw
In response to Re: HOOKS for Synchronous Replication?  ("Jim C. Nasby" <jim@nasby.net>)
Responses Re: HOOKS for Synchronous Replication?  ("Jonah H. Harris" <jonah.harris@gmail.com>)
List pgsql-hackers
On 12/8/2005 2:05 PM, Jim C. Nasby wrote:

> On Thu, Dec 08, 2005 at 08:33:59AM -0800, Darcy Buskermolen wrote:
>> On Wednesday 07 December 2005 20:24, Tom Lane wrote:
>> > Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
>> > > Anyone remember this patch?
>> > > http://gorda.di.uminho.pt/community/pgsqlhooks/
>> > > The discussion seems to be pretty minimal:
>> > > http://archives.postgresql.org/pgsql-hackers/2005-06/msg00859.php
>> > > Does anyone see a need to investigate it further?
>> >
>> > I had hoped to see some comments from the Slony people about it.
>> > I'd feel better about the validity of a set of hooks if more than
>> > one project agreed that it was useful/appropriate ...
>> 
>> I missed seeing it all together the first time through, I'll see what I can do 
>> about taking a indepth look at it over the next few days and provide some 
>> feedback.
> 
> While this code might be useful, whouldn't it be much more valuable to
> provide hooks into xlog so that we could do non-trigger-based
> replication? (As well as non-trigger-based materialized views...)

I don't see why these would be mutually exclusive. A generic API needs 
to have them all.

Without having looked at the patch yet, what I expect from an API is 
that the backend will (after initialization and becoming a member of a 
database) check if this database is replicated. If so load the specific 
shared object that implement the backend part of the replication system 
and then call an init() function in that. This init() function then will 
add callbacks to all the hooks where this particular replication system 
wants to be called. So one replication system might want to be called on 
commit, just before writing the WAL record, some other system doesn't 
care about that, but wants to see the WAL record after it was written.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #


pgsql-hackers by date:

Previous
From: "Dann Corbit"
Date:
Subject: Re: HOOKS for Synchronous Replication?
Next
From: Tom Lane
Date:
Subject: Re: Reducing relation locking overhead