X-Original-To: pgsql-hackers-postgresql.org@postgresql.org Received: from localhost (mx1.hub.org [200.46.208.251]) by postgresql.org (Postfix) with ESMTP id D37DB9FB235 for ; Thu, 10 Aug 2006 14:30:10 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.208.251]) (amavisd-new, port 10024) with ESMTP id 35406-06 for ; Thu, 10 Aug 2006 14:30:07 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from dcs.lsd.di.uminho.pt (linux.di.uminho.pt [193.136.19.96]) by postgresql.org (Postfix) with ESMTP id 93A579FB31E for ; Thu, 10 Aug 2006 14:30:06 -0300 (ADT) Received: (qmail 28251 invoked by uid 89); 10 Aug 2006 17:49:38 -0000 Received: from unknown (HELO ?192.168.82.115?) (alfranio@lsd.di.uminho.pt@192.168.82.115) by dcs.lsd.di.uminho.pt with ESMTPA; 10 Aug 2006 17:49:37 -0000 Message-ID: <44DB6D17.4040902@lsd.di.uminho.pt> Date: Thu, 10 Aug 2006 18:29:59 +0100 From: alfranio correia junior User-Agent: Thunderbird 1.5.0.5 (X11/20060728) MIME-Version: 1.0 To: "Jim C. Nasby" CC: Markus Schiltknecht , Christopher Browne , pgsql-hackers@postgresql.org Subject: Re: standard interfaces for replication providers References: <44D30B31.2070403@lsd.di.uminho.pt> <200608041733.24228.jop@lsd.di.uminho.pt> <44D70EDA.9060602@bluegap.ch> <200608071940.26750.jop@lsd.di.uminho.pt> <44D89EA5.5090703@bluegap.ch> <87irl3uqgx.fsf@wolfe.cbbrowne.com> <44D8D334.5050808@bluegap.ch> <44D8D9DE.50000@lsd.di.uminho.pt> <44D98FCF.90408@bluegap.ch> <20060809185609.GK40481@pervasive.com> In-Reply-To: <20060809185609.GK40481@pervasive.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.77 tagged_above=0 required=5 tests=AWL, SARE_SPEC_REPLICA X-Spam-Level: X-Archive-Number: 200608/724 X-Sequence-Number: 88217 > > Why reinvent the wheel for everything if there was an interface that > offered some of the needed functionality? Maybe PostgreSQL-R is simply > too deep in the database for any of this to be useful, but I'm 99% > certain that Slony could make use of some of this stuff, such as a hook > on tuples being written out. Likewise, if there were hooks for WAL > records and a way to inject WAL info into a backend it probably wouldn't > be too hard to build WAL-based replication on top of that. Heck, PITR > could probably be refactored to use such hooks. > Yeah !!! :-) The idea is to provide means to inject things at different levels (statement, parsed statements, plans, tuples, logs -wal). So the GAPI provides a generic and standard interface that enables any application to retrieve information at different levels and inject information at different levels. > One of the great things about Oracle is that they expose a hell of a lot > of the technology they use to build features like replication; ie: take > a look at DBMS_*. > If I am not wrong such procedures are only for administrative purpose. For instance, we cannot insert things in a queue to be replicated.