Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dO9mH-0006zv-7s for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jun 2017 21:36:37 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dO9mG-000500-M9 for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jun 2017 21:36:36 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dO9mF-0004zR-PE for pgsql-hackers@postgresql.org; Thu, 22 Jun 2017 21:36:35 +0000 Received: from mail-wr0-x22a.google.com ([2a00:1450:400c:c0c::22a]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dO9mC-0005Bn-Pu for pgsql-hackers@postgresql.org; Thu, 22 Jun 2017 21:36:34 +0000 Received: by mail-wr0-x22a.google.com with SMTP id r103so40747574wrb.0 for ; Thu, 22 Jun 2017 14:36:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=WRvO1rLvOl6ZXwhIJNNdyWmR9EOtbKaCJF4DYumAoR8=; b=EvyD4LB8OZCJw/zXaXc3VP/Lif3MB6fmstWfZobwPmbH32K3sdQP3kPt5SKIcO9ECm RCwIFwC3kzaYebzn3zbwTuROrt7YMuRgjzwZSURTSbjbB/mk6clEunaPBkKvF+AtFlFc DPG6Fk5EfuWaMDiyYcKICZqV7/5Sddhep3ae0sbCNn1J9g/gircdAyR0h/w7YKgLeMcO Gbaad4OzQ90IsVnoUBQegdL3NyJehThVib4F3TGt51S4bCTsr6gS1B8amEGjs5F2sPu9 7IoWo3H49obkA67M2GuKCFDt1fpfFlUmcAMDCqnkzh6xIcPB5YXeZ3Wnx2nylpmDh3Jd dbnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=WRvO1rLvOl6ZXwhIJNNdyWmR9EOtbKaCJF4DYumAoR8=; b=nMdn3XwoQ99KQtOjoKzTZv9jkbJtVhQurp1wuHfClybxk/byAwbl0TH7OzP0/p53eA bPjDTT0HTO9r9LMXcPtqf1gqYPJLe7oy08RrKnpxTevG2As0VI1WGp2YFx68BilXbf4B sMFY8lweKdXH+jVvyMdTq6rDQxMAiuhM7yOdGKjmAHiwo395wTeCFE6TAc1szYb15dLp 7lvOMjXmdvMfoHUextOtGHlh65NxUDrkwXG5J9xQS3KAW0+07H9HUbF2wx9euV3+AJul 3nSgl35ikqjLII5u0LJr4tFs5w7p5WuH4ay77JqSp+76Cb5WlSYGKYzlrQ5peu47nbG8 uu7w== X-Gm-Message-State: AKS2vOzCntCquUzy8w2bmCV+lz7zdkeFeCG6ySiq6LiB8BmQ1XmiYggC easQCNwdZvLIQM1ER7f4xKt3BK+uIN4kYASjigUvxjJGQ0O7CpyQ58nAen0BGWA2zaJsUaxRoWV 5qfysXA6GJXqEHmagCv6X6JMBk7rsyJ6Km/MGihc701Fnpe0kURpKvk5+cx3y4DYpBvsr1ZyADB w= X-Received: by 10.28.182.214 with SMTP id g205mr3255189wmf.44.1498167389971; Thu, 22 Jun 2017 14:36:29 -0700 (PDT) Received: from [10.137.2.17] (ip-89-177-46-65.net.upcbroadband.cz. [89.177.46.65]) by smtp.gmail.com with ESMTPSA id a3sm152074wra.17.2017.06.22.14.36.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 Jun 2017 14:36:29 -0700 (PDT) Subject: Re: Pluggable storage To: pgsql-hackers@postgresql.org References: <20160824182201.GA232997@alvherre.pgsql> <20161013202642.ksiuyx72gu6wgupf@alvherre.pgsql> From: Tomas Vondra Message-ID: <0562d142-a0b0-e1ba-a535-fcf02fa51566@2ndquadrant.com> Date: Thu, 22 Jun 2017 23:36:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Thunderbird/54.0a2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org Hi, On 6/22/17 4:36 PM, Alexander Korotkov wrote: > On Thu, Jun 22, 2017 at 5:27 PM, Robert Haas > wrote: > > On Thu, Jun 22, 2017 at 8:32 AM, Alexander Korotkov > > wrote: > > On Thu, Jun 22, 2017 at 4:01 AM, Michael Paquier > > > wrote: > >> Putting that in a couple of words. > >> 1. Table AM with a 6-byte TID. > >> 2. Table AM with a custom locator format, which could be TID-like. > >> 3. Table AM with no locators. > >> > >> Getting into having #1 first to work out would already be really > >> useful for users. > > > > What exactly would be useful for *users*? Any kind of API itself is > > completely useless for users, because they are users, not developers. > > Storage API could be useful for developers to implement storage AMs whose in > > turn could be useful for users. > > What's your point? I assume that is what Michael meant. > > > TBH, I don't understand what particular enchantments do we expect from > having #1. I'd say that's one of the things we're trying to figure out in this thread. Does it make sense to go with #1 in v1 of the patch, or do we have to implement #2 or #3 to get some real benefit for the users? > > This is why it's hard for me to say if #1 is good idea. It's also hard > for me to say if patch upthread is right way of implementing #1. > But, I have gut feeling that if even #1 is good idea itself, it's > definitely not what users expect from "pluggable storages". The question is "why" do you think that. What features do you expect from pluggable storage API that would be impossible to implement with option #1? I'm not trying to be annoying or anything like that - I don't know the answer and discussing those things is exactly why this thread exists. I do agree #1 has limitations, and that it'd be great to get API that supports all kinds of pluggable storage implementations. But I guess that'll take some time. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers