Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 16ED964FD06 for ; Mon, 15 Sep 2008 10:28:40 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 60136-01-5 for ; Mon, 15 Sep 2008 10:28:31 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from ey-out-2122.google.com (ey-out-2122.google.com [74.125.78.24]) by postgresql.org (Postfix) with ESMTP id C185764FF9E for ; Mon, 15 Sep 2008 10:28:11 -0300 (ADT) Received: by ey-out-2122.google.com with SMTP id 6so897156eyi.61 for ; Mon, 15 Sep 2008 06:28:09 -0700 (PDT) Received: by 10.210.60.8 with SMTP id i8mr10152521eba.183.1221485289218; Mon, 15 Sep 2008 06:28:09 -0700 (PDT) Received: from oxford.xeocode.com.enterprisedb.com ( [82.16.16.210]) by mx.google.com with ESMTPS id t12sm5796402gvd.4.2008.09.15.06.28.07 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 15 Sep 2008 06:28:08 -0700 (PDT) To: Tom Lane Cc: Simon Riggs , Heikki Linnakangas , ITAGAKI Takahiro , pgsql-hackers@postgresql.org Subject: Re: rmgr hooks and contrib/rmgr_hook In-Reply-To: <24006.1221483138@sss.pgh.pa.us> (Tom Lane's message of "Mon\, 15 Sep 2008 08\:52\:18 -0400") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) X-Draft-From: ("nnimap+imap.gmail.com:HACKERS" 1261) References: <20080901121833.4A18.52131E4D@oss.ntt.co.jp> <1220345064.4371.275.camel@ebony.2ndQuadrant> <20080902174613.76B2.52131E4D@oss.ntt.co.jp> <1220348980.4371.316.camel@ebony.2ndQuadrant> <14451.1220369969@sss.pgh.pa.us> <1220372673.4371.465.camel@ebony.2ndQuadrant> <48CB72C8.1070700@enterprisedb.com> <1221470800.3913.1229.camel@ebony.2ndQuadrant> <87sks1oi4o.fsf@oxford.xeocode.com> <24006.1221483138@sss.pgh.pa.us> From: Gregory Stark Organization: EnterpriseDB Date: Mon, 15 Sep 2008 14:28:06 +0100 Message-ID: <877i9do7x5.fsf@oxford.xeocode.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200809/971 X-Sequence-Number: 124100 Tom Lane writes: > Gregory Stark writes: >> Simon Riggs writes: >>> Indexes have always been able to be added dynamically. Now they can be >>> recovered correctly as well. > >> Hm, so currently if you want to add a new indexam you can't just insert into >> pg_am and make them recoverable. You basically have to build in your new index >> access method into Postgres with the new rmgr. That is annoying and a problem >> worth tackling. > > I concur with Heikki that that's not exactly a compelling use-case. > I've never heard of anyone building a non-core index AM at all; much > less trying to use it in a production context. Given the obvious > potential for version-mismatch-type problems, it's hard to believe > that anyone ever would try. Well wasn't GIST such an instance until we put it in core? IIRC it lived in contrib for a long time. It happens that the route they took was to implement it without recoverability until it was in core then add logging. I suspect we would lean on any new method to have logging before it was merged in though. I think the version-mismatch problems are fairly important though which is why I was suggesting providing checks for that in postgres. Simon's right though that the plugin could check for it itself. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com Ask me about EnterpriseDB's Slony Replication support!