Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bhMn8-0007y4-2p for pgsql-docs@arkaria.postgresql.org; Tue, 06 Sep 2016 20:16:22 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bhMn7-0001gV-LU for pgsql-docs@arkaria.postgresql.org; Tue, 06 Sep 2016 20:16:21 +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 1bhMml-000179-A2 for pgsql-docs@postgresql.org; Tue, 06 Sep 2016 20:15:59 +0000 Received: from newmail.postgrespro.ru ([93.174.131.138] helo=mail.postgrespro.ru) by makus.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bhMmi-0002c4-Eg for pgsql-docs@postgresql.org; Tue, 06 Sep 2016 20:15:58 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.postgrespro.ru (Postfix) with ESMTP id B092A21C2811 for ; Tue, 6 Sep 2016 23:15:53 +0300 (MSK) X-Virus-Scanned: Debian amavisd-new at postgrespro.ru Received: from mail.postgrespro.ru ([127.0.0.1]) by localhost (mail.postgrespro.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GXVG7cprdnEC for ; Tue, 6 Sep 2016 23:15:53 +0300 (MSK) Received: from [192.168.1.38] (broadband-46-188-127-44.2com.net [46.188.127.44]) by mail.postgrespro.ru (Postfix) with ESMTPSA id 8A3F321C2785 for ; Tue, 6 Sep 2016 23:15:53 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1473192953; bh=McJ5Vs3RNewQv4OXDcap9ULbaohDMVyXjBl1FBwfTkk=; h=Subject:To:References:From:Date:In-Reply-To; b=dtnPzVR2h1BYq72TAhb9zqfx8tCEDlWMg1HFfE0wHloacXTR4xFfIN6oo72xIn3ZJ Y5IsFX58TvaeDIvHXGVGaXtR+s/u7RuhvEhX0DnmT4IAjOWMZGg+yHblJgja0aIJB0 OmFUv5Tc89unHOgTGaEuTLOIYIepdF+lQGDOSMkA= Subject: Re: FrozenTransactionId To: pgsql-docs@postgresql.org References: <575D7955.6060209@postgrespro.ru> <1473096445753-5919545.post@n3.nabble.com> <31833.1473097584@sss.pgh.pa.us> <57CDED18.8060005@postgrespro.ru> <57CE6F15.4060101@postgrespro.ru> <16060.1473165694@sss.pgh.pa.us> From: Egor Rogov Message-ID: <57CF23F9.10304@postgrespro.ru> Date: Tue, 6 Sep 2016 23:15:53 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <16060.1473165694@sss.pgh.pa.us> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -3.1 (---) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-docs Precedence: bulk Sender: pgsql-docs-owner@postgresql.org On 06.09.2016 15:41, Tom Lane wrote: > Egor Rogov writes: >>> Please find another patch attached. I hope it is a bit easier to >>> review now. > Hmm. I do not actually see anything wrong with the existing text: > it does not say that FrozenTransactionId is what appears on disk, > it says that frozen tuples are treated as if their xmin were > FrozenTransactionId. That's an accurate description of the current > implementation. I'm not sure that removing all mention of special > XIDs is a good thing, especially since they will still exist on-disk > in pg_upgrade'd installations. Okay, I see my mistake now: this old FrozenTransactionId mechanics is still valid to support upgraded installations. Anyway, while the description is technically accurate, it is misleading. Right, it does not say that FrozenTransactionId is what appears on disk, but what is? There is no such information anywhere in the doc. Since 9.4 frozen transactions have their normal XIDs preserved, so how a user can tell normal transaction from frozen one? This is what needs to be explained, I believe. > > It does seem like this paragraph could do with some copy-editing, > but I doubt that removing information is the way to go about that. > What I'd change: > 1. Grammar fix: s/effects ... is/effects ... are/ > 2. Remove the useless phrase ", from an MVCC perspective," > 3. Reorder the sentences just after that, so that we have > "Normal XIDs are compared ... suddenly appear to be in the future. > To prevent this, PostgreSQL reserves a special XID, FrozenTransactionId, > ... considered older than every normal XID. > Frozen row versions are treated as if ..." > > It might also be worth mentioning explicitly that FrozenTransactionId > can appear on-disk in old installations. And I'd be slightly tempted > to put in an explanation of BootstrapTransactionId, because users > will see that as well if they look into any system catalogs. > > Comments? > > regards, tom lane > > -- Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs