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 1ju0pk-00060T-29 for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Jul 2020 21:45:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ju0pj-0000Tu-0b for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Jul 2020 21:45:27 +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 1ju0pi-0000Tn-Mh for pgsql-hackers@lists.postgresql.org; Fri, 10 Jul 2020 21:45:26 +0000 Received: from mail-io1-xd41.google.com ([2607:f8b0:4864:20::d41]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ju0pg-000433-3k for pgsql-hackers@lists.postgresql.org; Fri, 10 Jul 2020 21:45:25 +0000 Received: by mail-io1-xd41.google.com with SMTP id q74so7575133iod.1 for ; Fri, 10 Jul 2020 14:45:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=25CVbJjXzdaXurvhTlwBjh8Q6dqwWkc/dCVoehEGwnc=; b=tBPIOtiIkFSMMSYmpfcjv80mEgtLlkrcgfdBDQP1bkhobkIFaFTiHLG4Rx1TBxJXqu mdpp1V3cf2foGdBcX09qHMyWVKwToHp4UO2/b2xPbX2ULUO0ZIGG3XFwKgT/eFLcOneN xoiEN94Yg9MzaamUG6gdaBQw/qwjIlzeiiljXi7K4v6ePHHw6uO1higoi6Rv6Mo2is9c HSa4Jjmrii1VFYXqzi8fBmTiJKkpMBmwltAbDHYUiohiwIUt+H7bbp/ZazKcSI75K6xP +zt0FtacgPLsEsX8cn5sHf+kN3REuxJc2DclhJMjVkqrVxBgShq/T60qVoZdopFy/cgD mqAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=25CVbJjXzdaXurvhTlwBjh8Q6dqwWkc/dCVoehEGwnc=; b=klzl4peZHyZqzRmlQzDuGCRl2CwGT0IQ2v5Oi1zMJY/SEgnwy+4hekQHQkgIwWTSCV B8H5aSPp6bUnd6MbU3MkqWx3ujZn5VUteIX/2u/inUbP+ofN9+w1zoxcftdbnbQEn5Ml ODpVy8r40Jcv7Aw+OaXd66xyfoYRWt/yYMSzJyz5c+1Os53ee8/FxYHRUkuysBIVnpTI sS9dd2UqlTB9qtxQ1SDa9WMEtYDlGZFxAafc63dv67EaHQueAE080Fr+5XTnjwFT9IDR lkpPHcoTCFB9eBD3WkR+/Xo7alEbOI3lNlt68qp2Gl9eNZvgwDVxP4EmgMG4RpMwSefH DPzA== X-Gm-Message-State: AOAM5310xXDVGdvk3F6+RFPZRPllRfNiJqCGnr/Lzf9T9viGArwQnv6Q xZvCt0qzhKzPFigKqhvjz3RTBA== X-Google-Smtp-Source: ABdhPJyDwHAVgLkCQrUROprA/q7lEYy1MGtGPxcZ8wbPp+rVNiqWWxTJsdodcol04d0ymj3/cP5YDQ== X-Received: by 2002:a05:6602:2a4e:: with SMTP id k14mr1928568iov.129.1594417523357; Fri, 10 Jul 2020 14:45:23 -0700 (PDT) Received: from pryzbyj.telsasoft (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id j28sm4217827ili.76.2020.07.10.14.45.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Jul 2020 14:45:22 -0700 (PDT) Received: by pryzbyj.telsasoft (Postfix, from userid 1000) id 7DFEF800A4B; Fri, 10 Jul 2020 16:45:21 -0500 (CDT) Date: Fri, 10 Jul 2020 16:45:21 -0500 From: Justin Pryzby To: Tom Lane Cc: David Gilman , pgsql-hackers@lists.postgresql.org Subject: Re: "tuple concurrently updated" in pg_restore --jobs Message-ID: <20200710214521.GS26220@telsasoft.com> References: <20200706050129.GW4107@telsasoft.com> <2116463.1594414480@sss.pgh.pa.us> <20200710210607.GR26220@telsasoft.com> <2164430.1594416988@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2164430.1594416988@sss.pgh.pa.us> User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On Fri, Jul 10, 2020 at 05:36:28PM -0400, Tom Lane wrote: > Justin Pryzby writes: > > On Fri, Jul 10, 2020 at 04:54:40PM -0400, Tom Lane wrote: > >> This works about 99% of the time, in fact. It falls down in the --clean > > > Note that this fails for me (sometimes) even without --clean. > > Oh, I was thinking that REVOKE would only be issued in the --clean > case, but apparently that's not so. Doesn't really affect the fix > proposal though. I just finished a patch for HEAD, as attached. > > (I flushed the "CatalogId objCatId" argument of dumpACL, which was > not used.) > > I'm not sure how far to back-patch it -- I think the parallel restore > of ACLs behavior is not very old, but we might want to teach older > pg_dump versions to insert the extra dependency anyway, for safety. Yes, and the test case in David's patch on other thread [0] can't be backpatched further than this patch is. A variant on his test case could just as well be included in this patch (with pg_dump writing to a seekable FD) and then amended later to also test writing to an unseekable FD. [0] https://commitfest.postgresql.org/28/2568/