Thread: HOOKS for Synchronous Replication?

HOOKS for Synchronous Replication?

From
Christopher Kings-Lynne
Date:
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?

Chris



Re: HOOKS for Synchronous Replication?

From
Tom Lane
Date:
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 ...
        regards, tom lane


Re: HOOKS for Synchronous Replication?

From
Date:
I can only add that patched code did not build on windows, contacted author
about that and never got an answer back.
Regards

paolo

Tom Lane <tgl@sss.pgh.pa.us> ha scritto

> 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 ...
> 
>             regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>        choose an index scan if your joining column's datatypes do not
>        match
> 





Re: HOOKS for Synchronous Replication?

From
Darcy Buskermolen
Date:
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.

>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>        choose an index scan if your joining column's datatypes do not
>        match

-- 
Darcy Buskermolen
Wavefire Technologies Corp.

http://www.wavefire.com
ph: 250.717.0200
fx: 250.763.1759


Re: HOOKS for Synchronous Replication?

From
"Jim C. Nasby"
Date:
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...)
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461


Re: HOOKS for Synchronous Replication?

From
Jan Wieck
Date:
On 12/7/2005 11:24 PM, 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 am going to look into this in the next couple of days.


Jan

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


Re: HOOKS for Synchronous Replication?

From
"Jonah H. Harris"
Date:
On 12/8/05, Jim C. Nasby <jim@nasby.net> wrote:
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...)

If we're going to do hooks for replication, I think we should look at including xlog.  Trigger-based replication is an OLTP performance killer if you're just looking to do async replication.


Re: HOOKS for Synchronous Replication?

From
"Dann Corbit"
Date:

A general purpose log miner is also useful in many other areas besides replication.

 


From: pgsql-hackers-owner@postgresql.org [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Jonah H. Harris
Sent: Thursday, December 08, 2005 11:32 AM
To: Jim C. Nasby
Cc: Darcy Buskermolen; pgsql-hackers@postgresql.org; Tom Lane; Christopher Kings-Lynne
Subject: Re: [HACKERS] HOOKS for Synchronous Replication?

 

On 12/8/05, Jim C. Nasby <jim@nasby.net> wrote:

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...)


If we're going to do hooks for replication, I think we should look at including xlog.  Trigger-based replication is an OLTP performance killer if you're just looking to do async replication.

Re: HOOKS for Synchronous Replication?

From
Jan Wieck
Date:
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 #


Re: HOOKS for Synchronous Replication?

From
"Jonah H. Harris"
Date:
True, I think we need hooks for both methods.

On 12/8/05, Jan Wieck <JanWieck@yahoo.com> wrote:
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 #

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Re: HOOKS for Synchronous Replication?

From
Alfranio Correia Junior
Date:
I fixed the patch and now it compiles in windows.
The first one did not compile because there were some problems in the 
Makefile.
It is currently available for download at 
http://gorda.di.uminho.pt/community/pgsqlhooks/.

Regards,

Alfranio