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 1l30qy-0003TP-4S for pgsql-docs@arkaria.postgresql.org; Fri, 22 Jan 2021 18:08:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l30qx-0001TF-1i for pgsql-docs@arkaria.postgresql.org; Fri, 22 Jan 2021 18:08:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l30qw-0001T8-PF for pgsql-docs@lists.postgresql.org; Fri, 22 Jan 2021 18:08:10 +0000 Received: from smtp-outgoing.laposte.net ([160.92.124.108]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1l30qu-0001nj-1T for pgsql-docs@lists.postgresql.org; Fri, 22 Jan 2021 18:08:10 +0000 X-mail-filterd: {"version":"1.2.2","queueID":"4DMnLC5t1DzdZLl","contextId":"580f5b05-2429-4384-9ccd-a57104d6d8c1"} Received: from outgoing-mail.laposte.net (localhost.localdomain [127.0.0.1]) by mlpnf0106.laposte.net (SMTP Server) with ESMTP id 4DMnLC5t1DzdZLl for ; Fri, 22 Jan 2021 19:08:03 +0100 (CET) X-mail-filterd: {"version":"1.2.2","queueID":"4DMnLC4400zdZLZ","contextId":"c3461980-8a86-40af-894f-8407bbd40439"} X-lpn-mailing: LEGIT X-lpn-spamrating: 40 X-lpn-spamlevel: not-spam X-lpn-spamcause: OK, (0)(0000)gggruggvucftvghtrhhoucdtuddrgeduledrudeigdduudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecunfetrffquffvgfdpqfgfvfdpggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedttdenucenucfjughrpefufhfvhffkffgfgggjtgfgsehtkeertddtfeejnecuhfhrohhmpegsvghnjhdruggvvheslhgrphhoshhtvgdrnhgvthenucggtffrrghtthgvrhhnpeeuvdelkeehteejhfefvddvveeuleelgfdttdeugfdvledvkeeftefgheejkeeiudenucffohhmrghinhepphhoshhtghhrvghsqhhlrdhorhhgnecukfhppeejkedrudelkedrvdegvddruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhephhgvlhhopegludelvddrudeikedrtddruddtngdpihhnvghtpeejkedrudelkedrvdegvddruddvjedpmhgrihhlfhhrohhmpegsvghnjhdruggvvheslhgrphhoshhtvgdrnhgvthdprhgtphhtthhopehpghhsqhhlqdguohgtsheslhhishhtshdrphhoshhtghhrvghsqhhlrdhorhhg Received: from [192.168.0.10] (unknown [78.198.242.127]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mlpnf0106.laposte.net (SMTP Server) with ESMTPSA id 4DMnLC4400zdZLZ for ; Fri, 22 Jan 2021 19:08:03 +0100 (CET) Subject: Re: HeapTupleHeaderData Layout description References: <658235472.1027001.1611323445204@wlpnf0217> <1165901.1611334152@sss.pgh.pa.us> To: pgsql-docs@lists.postgresql.org From: benj.dev@laposte.net Autocrypt: addr=benj.dev@laposte.net; prefer-encrypt=mutual; keydata= xsDiBERnB5oRBADAfblURXtFHqFGWMdWY0JnBwtLHKwWbKBJhVmQXZuexZODGqwlhgMuqfI1 gjKLg32b6uad33wZw8PblaJUkZHH5Wv/qT9ccUqiapQZKDbEdTJcUMBniQrd+irIPr9ogJCD tOvKkG5hIsxNXUBJcMYOPr6g49PHN9uZIRK2+p1GAwCgjb6gTA1/n2P/0cWdqxtt8X2/hzEE ALjX9Nw0AXMBL1V1yGM6m0H1dH3gdTYb3yZQyt3DAfdcTGTKHFK0L92DSW6dMLjW2oHn4y6e 8zAUzOKRO589/4lgfDVFN4AOJtWJ/Lo05rxF/n7kkIkwgXpj22t2r2+dtW8frFHA1AH74PNl Pj6VCCzZNO8Xs56+hI3rNo0oV6ctA/98n4nH7X+YvbRmKH48O1RSLEyO3kKowEz8bz50c7zh XK6XhWFdCvhImkJnOt7pxoy1Q7WJpyOLwSBkbtF83uht056y2GnZ1fPVYRnTKgRhb7BMXcVr 7JRKfMCa3Z7qyb2rQwy8n8EF4Ay+MCTUbmGuMawfQG09DIGmOPCLnBH4j80xQmVuamFtaW4g QmVoYWdoZWwgPGJlbmphbWluLmJlaGFnaGVsQGxhcG9zdGUubmV0PsJjBBMRAgAjAhsjBgsJ CAcDAgQVAggDBBYCAwECHgECF4AFAklj3yMCGQEACgkQ7ub2OkMDLQ7JKQCdHPOZC0qhqy1J G4YjoC/LzDPsBToAn0ZulRHy59dr2wp/o5HO1yNBKBEpzsFNBERnB6EQCACnxW1kopfI96HZ AVdCAc5L/hEQ8lst4Up+6yWQtkbxt4dose3KayNPJo4ntWRRbjRZDX3zT6ckhfz6PxjGjU4B ktemmsxFpH8EinJYNpeq4io3/kN1t/96FGIsoWnmNQ2Sc+KcQVrUrn0oiG05Ql5dH4V/nCK6 3FkY0muNJEw9EGtkY5pkj7LmfdEGXI9+V6L6KDNwnuebYdeJ+DHMNzM5XsoTGYY4w7opqllr rj3Kw+6+zPiESPFBxXzgHt+1uBD/OVAQJRkNW/T7uNfhn4KsUnTB0VdFFlFWTOnVxFQeU9eC wDsGjjTPDvFm9LUa7KXse0FwF9ullwaU1A7VS/QPAAMFB/4mwv6P3A1wdfAtd0Zv8QeoBN41 GewYqmyCPvqu0ulTOhiJ24LljCU6IUUuP80sJ9Bt6gAEOTVs6n4SOBFJUbh4jM/7X6zK7U/8 39vATHsZsNNDtcaaXpAZS27FWkJS3kubNB4ahKmGB3s+lcdV62L8sgrmNk20qR5DfCB6Cm6T XlgVo5GhmAZwtWWre7GnZm+Q1G2obLCwqnTSxcCAxA8BwhyAXHcKuVkA0T07YBQGDS7x206a 7PwOUYsbwnJiX4hayi3dwIawnMLTYPxxOMgXRhgKdBYpKoJQpwtjDhyQ5eA/86RjHIWUfGHL oTTBTDoo8pHxO9UmMetEPp4oI4aQwkkEGBECAAkFAkRnB6ECGwwACgkQ7ub2OkMDLQ57YgCc DLV1tfDBAfLlN4/3c6CVI24EVk0AnjJpR+cz43csr+eH1YgSuIYHkLiq Message-ID: Date: Fri, 22 Jan 2021 19:08:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <1165901.1611334152@sss.pgh.pa.us> Content-Type: text/plain; charset=utf-8 Content-Language: fr Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=laposte.net; s=lpn-wlmd; t=1611338885; bh=4f8R7nzvFU4hmMqp+hFJIIOlj5ZhnfjFULXDyhKuU9E=; h=Subject:References:To:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Language:Content-Transfer-Encoding; b=N8f8o9Pi3RsEarfyPN/LLmUClbFeAOzzUgag9uyUkKmPe9evYTbGMCz2F0Oj013uXx6Z+53sRMgf+w3Fc2ytgfGvP9sN6N/4XKwZVt+KMmcCyx1EcZz34nKjrqCAvKe4WQfwyTB0zWGYftOhLE68xeb4zc3mKVVqJDCPMubZS7iAY/OpG96wq1/5Dx7OeXiHAGGKUqalhwIVG7B0Uw+DSSPWn34wnM4f6Yi7iirf0A57/M38ckk6EktQwMzJQfq6sgfe8KhwqqWVhysKouCiHo08NPjnxjm/Ddm9pLouuUMrRhYDp6/AWmBewCVSnqq+fM+o1X74N8J4WYQp8epZEA==; List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Le 22/01/2021 =C3=A0 17:49, Tom Lane a =C3=A9crit=C2=A0: > benj.dev@laposte.net writes: >> In https://www.postgresql.org/docs/13/storage-page-layout.html
>> we can find on =C2=A7 68.6.1. Table Row Layout
>> the Table 68.4. HeapTupleHeaderData Layout
>>
>> When additionning Length of differents Fields taht are present we obta= in  atotal of
>> 4+4+4+4+6+2+2+1 =3D 27
>=20 > I think you missed the point that t_cid overlays with t_xvac. >=20 > regards, tom lane >=20 Hi, Thank you for this point. It's more clear. So in fact the error (with number 27) was in the documentation for version before postgres 8.3. In version >=3D8.3, the overlays precision could be added into sentence "XID for VACUUM operation moving a row version" =3D> "XID for VACUUM operation moving a row version (overlays with t_cid)" or Maybe show t_cid and t_xvac in the same cell into the array could be more clear Example : |=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D| |Field |Type |Length |Description | |=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D| |t_xmin |TransactionId |4 octets |insert XID stamp | |-----------|---------------|---------|--------------------------------| |t_xmax |TransactionId |4 octets |delete XID stamp | |-----------|---------------|---------|--------------------------------| |t_cid |CommandId | |insert and/or delete CID stamp | |t_xvac |TransactionId | |XID for VACUUM operation moving | | | | |a row version | | | |4 octets |(t_cid and t_xvax are overlayed)| |-----------|---------------|---------|--------------------------------| |t_ctid |ItemPointerData|6 octets |current TID of this or newer row| | | | |version | |-----------|---------------|---------|--------------------------------| |t_infomask2|uint16 |2 octets |number of attributes, plus | | | | |various flag bits | |-----------|---------------|---------|--------------------------------| |t_infomask |uint16 |2 octets |various flag bits | |-----------|---------------|---------|--------------------------------| |t_hoff |uint8 |1 octet |offset to user data | |=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D|=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D| Thanks, Regards