Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5YRV-00049L-HQ for pgsql-bugs@arkaria.postgresql.org; Tue, 11 Aug 2020 17:52:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1k5YRT-0002LW-CS for pgsql-bugs@arkaria.postgresql.org; Tue, 11 Aug 2020 17:52:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5YRT-0002LO-6C for pgsql-bugs@lists.postgresql.org; Tue, 11 Aug 2020 17:52:07 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k5YRR-0000YL-6a for pgsql-bugs@lists.postgresql.org; Tue, 11 Aug 2020 17:52:06 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 07BHq0fr018025; Tue, 11 Aug 2020 13:52:00 -0400 From: Tom Lane To: Robert Haas cc: Pavel Biryukov <79166341370@yandex.ru>, PostgreSQL mailing lists , Andres Freund Subject: Re: posgres 12 bug (partitioned table) In-reply-to: References: <141051591267657@mail.yandex.ru> <1251598.1591289850@sss.pgh.pa.us> <3398357.1597160032@sss.pgh.pa.us> <1058041597161586@mail.yandex.ru> Comments: In-reply-to Robert Haas message dated "Tue, 11 Aug 2020 13:13:18 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <18023.1597168320.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Tue, 11 Aug 2020 13:52:00 -0400 Message-ID: <18024.1597168320@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Robert Haas writes: > On Tue, Aug 11, 2020 at 12:02 PM Pavel Biryukov <79166341370@yandex.ru> = wrote: >> I just want to point that Npgsql provider for .Net Core builds queries = like that (RETURNING xmin) to keep track for concurrency. >> This bug stops us from moving to partitioned tables in Postgres 12 with= Npgsql. > That's certainly a good reason to try to make it work. And we can make > it work, if we're willing to assume that everything's a heap table. > But at some point, that hopefully won't be true any more, and then > this whole idea becomes pretty dubious. I think we shouldn't wait > until it happens to start thinking about that problem. For xmin in particular, you don't have to assume "everything's a heap". What you have to assume is "everything uses MVCC", which seems a more defensible position. It'll still fall down for foreign tables that are partitions, though. I echo Andres' nearby question about exactly why npgsql has such a hard dependency on xmin. Maybe what we need is to try to abstract that a little, and see if we could require all partition members to support some unified concept of it. regards, tom lane