Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id 36DFFB5DBFC for ; Thu, 11 Aug 2011 18:37:53 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 99209-09 for ; Thu, 11 Aug 2011 21:37:47 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.171]) by mail.postgresql.org (Postfix) with ESMTP id 92B57B5D80A for ; Thu, 11 Aug 2011 18:37:46 -0300 (ADT) Received: from [192.168.1.6] (mail.highperformancepostgresql.com [71.179.240.8]) by mrelayeu.kundenserver.de (node=mreu0) with ESMTP (Nemesis) id 0LnFtp-1RWkSa1ChB-00h25B; Thu, 11 Aug 2011 23:37:45 +0200 Message-ID: <4E444BA8.70000@2ndQuadrant.com> Date: Thu, 11 Aug 2011 17:37:44 -0400 From: Greg Smith User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110702 Icedove/3.0.11 MIME-Version: 1.0 To: pgsql-admin@postgresql.org Subject: Re: replication from Oracle to PostgreSQL? References: <4E43EA0B.3080600@consistentstate.com> <1313074397.2506.710.camel@lenovo01-laptop03.gunduz.org> <4E43EDD4.1060700@consistentstate.com> <4E443459.1080401@commandprompt.com> In-Reply-To: <4E443459.1080401@commandprompt.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:DmEeKDBM1xyBgnaBPGHAd3r8SWTuVWLFJ88askOr0Kf Xloez9WuJdx8C2/EQvvTjIbhB4Qg5MxmTcvzdtdVC5OpqdObrl XTu7FsfZv8OuN3G+IvTrxjkVuMJQyJtSF5EyQPlt+tciOuZ2zd Mm2rUQ3sFEIwfuIZaFgz0hgrtZw26Zkred9TKXJbho2U4ZzYY/ Ym42QcW4SLgzAbXgKJ3n7fqjL/R5WBJQmTO4bIHInQ= X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.18 tagged_above=-10 required=5 tests=BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SARE_SPEC_REPLICA=0.72 X-Spam-Level: X-Archive-Number: 201108/112 X-Sequence-Number: 38099 On 08/11/2011 03:58 PM, Joshua D. Drake wrote: > I would imagine it would be pretty simple to fork the triggers that do > replication in Londiste or Slony (as long as everything else was > PostgreSQL) to be able to replicate from Oracle to PostgreSQL. That's the approach taken by some of our in-house tools. "simple" wouldn't be the right word to describe the process that went into building them though. You have to get the basics working, then worry about non-deterministic statements (random, timestamps, etc.), sequencing, all of the stuff any statement based replication can be faced with--except now there's the quirks of two databases to worry about. One of the reasons Slony and Londiste statement extraction works as well as it does is because new functions were added to PostgreSQL 8.3 for them, to make it easier to get the sort of snapshot information needed to grab consistent copies of data. That problem comes back again when the origin database isn't a PostgreSQL one too. There are a couple of ways to solve this problem, but all of them are complicated enough that they're only sitting in commercial/consultant projects right now (in addition to ones mentioned here already, I'm sure Continuent has some applicable stuff too). I think Kevin's customer may be in for a surprise at how much it will cost to duplicate this feature set from scratch--I'd be surprised to see that total come in under what licensing an already built package would sell for. Companies who aren't willing to throw some money toward buying/customizing at least some PostgreSQL software, if it allows escaping from Oracle licensing, should reconsider their strategy. Not everything you'll want to make a conversion easy is going to be free. -- Greg Smith 2ndQuadrant US greg@2ndQuadrant.com Baltimore, MD PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.us