HOOKS for Synchronous Replication?

Started by Christopher Kings-Lynneabout 20 years ago11 messages
#1Christopher Kings-Lynne
chriskl@familyhealth.com.au

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Christopher Kings-Lynne (#1)
Re: HOOKS for Synchronous Replication?

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

#3Noname
pmagnoli@systemevolution.it
In reply to: Tom Lane (#2)
Re: HOOKS for Synchronous Replication?

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

Show quoted text

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

#4Darcy Buskermolen
darcy@wavefire.com
In reply to: Tom Lane (#2)
Re: HOOKS for Synchronous Replication?

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

#5Jim C. Nasby
jim@nasby.net
In reply to: Darcy Buskermolen (#4)
Re: HOOKS for Synchronous Replication?

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

#6Jan Wieck
JanWieck@Yahoo.com
In reply to: Tom Lane (#2)
Re: HOOKS for Synchronous Replication?

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 #

#7Jonah H. Harris
jonah.harris@gmail.com
In reply to: Jim C. Nasby (#5)
Re: 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.

#8Dann Corbit
DCorbit@connx.com
In reply to: Jonah H. Harris (#7)
Re: HOOKS for Synchronous Replication?

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.

#9Jan Wieck
JanWieck@Yahoo.com
In reply to: Jim C. Nasby (#5)
Re: HOOKS for Synchronous Replication?

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 #

#10Jonah H. Harris
jonah.harris@gmail.com
In reply to: Jan Wieck (#9)
Re: HOOKS for Synchronous Replication?

True, I think we need hooks for both methods.

Show quoted text

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

#11Alfranio Correia Junior
alfranio@lsd.di.uminho.pt
In reply to: Noname (#3)
Re: HOOKS for Synchronous Replication?

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