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 1l2wq2-0001ay-ND for pgsql-docs@arkaria.postgresql.org; Fri, 22 Jan 2021 13:50:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l2wq1-0001Gm-Is for pgsql-docs@arkaria.postgresql.org; Fri, 22 Jan 2021 13:50:57 +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 1l2wq1-0001F2-A6 for pgsql-docs@lists.postgresql.org; Fri, 22 Jan 2021 13:50:57 +0000 Received: from smtp-outgoing.laposte.net ([160.92.124.102]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1l2wpx-0003BJ-Kv for pgsql-docs@lists.postgresql.org; Fri, 22 Jan 2021 13:50:56 +0000 X-mail-filterd: {"version":"1.2.2","queueID":"4DMgdL10TdzdZLg","contextId":"7d4e8a6e-4bf1-4214-a7f1-caff4228ee22"} Received: from outgoing-mail.laposte.net (localhost.localdomain [127.0.0.1]) by mlpnf0106.laposte.net (SMTP Server) with ESMTP id 4DMgdL10TdzdZLg for ; Fri, 22 Jan 2021 14:50:46 +0100 (CET) X-mail-filterd: {"version":"1.2.2","queueID":"4DMgdL0kl2zdZLZ","contextId":"b481ac41-127d-46af-9788-9cde087b0e3b"} X-lpn-mailing: LEGIT X-lpn-spamrating: 40 X-lpn-spamlevel: not-spam X-lpn-spamcause: OK, (0)(0000)gggruggvucftvghtrhhoucdtuddrgeduledrudeigdeiudcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfntefrqffuvffgpdfqfgfvpdggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddtnecunecujfgurhepfffhrhfvkffugggtihesrgdtsggstddtjeenucfhrhhomhepsggvnhhjrdguvghvsehlrghpohhsthgvrdhnvghtnecuggftrfgrthhtvghrnhepvefhveefieegvdfhuddtteevtdfhieeuieehffduveelveduleevjeekudffhedunecuffhomhgrihhnpehpohhsthhgrhgvshhqlhdrohhrghdpshhtrggtkhhovhgvrhhflhhofidrtghomhenucfkphepjeekrdduleekrddvgedvrdduvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehhvghlohepfihlphhnfhdtvddujedrshihshdrmhgvshhhtghorhgvrdhnvghtpdhinhgvthepjeekrdduleekrddvgedvrdduvdejpdhmrghilhhfrhhomhepsggvnhhjrdguvghvsehlrghpohhsthgvrdhnvghtpdhrtghpthhtohepphhgshhqlhdqughotghssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrgh Received: from wlpnf0217.sys.meshcore.net (wlpnf0217.sys.meshcore.net [78.198.242.127]) by mlpnf0106.laposte.net (SMTP Server) with ESMTPA id 4DMgdL0kl2zdZLZ for ; Fri, 22 Jan 2021 14:50:45 +0100 (CET) Date: Fri, 22 Jan 2021 14:50:45 +0100 (CET) From: benj.dev@laposte.net Reply-To: benj.dev@laposte.net To: pgsql-docs@lists.postgresql.org Message-ID: <658235472.1027001.1611323445204@wlpnf0217> Subject: HeapTupleHeaderData Layout description MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_1027000_854827376.1611323445204" X-ORIGINATING-IP: 78.198.242.127 X-Wum-Nature: EMAIL-NATURE X-SAVECOPY: true X-WUM-FROM: |~| X-WUM-TO: |~| X-WUM-REPLYTO: |~| DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=laposte.net; s=lpn-wlmd; t=1611323448; bh=WsbGU2uXCi78hyrXbn1ZXYbTfBP9T1uuIefvBee8X+A=; h=Date:From:Reply-To:To:Message-ID:Subject:MIME-Version:Content-Type; b=RvjPSQU/rvkZeWkAJB/txQK7EHSKKEG3tByFhCNrRLH9evUFyW7L1J1nMQmHby7X3oolLEBuD2bY5m+Jw4yk8NSuiRMZzVEO9VM13t0uqFpXleBDRD+giFVe7X0w47KEmVMxyeIpN71TPvf3C4v/b68ELQ9GmuOIHKuCbgwLLRxSq7ytRdrNZPF4C0/jNPlQmDjNd75WcZyrGZ7aPe84EvZ72CvXULtxfxiMkKyCsgQwafRPdXNjkpjjqJQGRWFde+rdJdH6kRUtc5TigrR5LPc7jhiE6z6paIeJ/xi3URBIBxquY5LwBbqO7MsVlFDfB8Ba1mtgZa5q8BdI6KrY2Q==; List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk ------=_Part_1027000_854827376.1611323445204 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
= =E2=80=8CHi,

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 obtain&nb= sp; atotal of
4+4+4+4+6+2+2+1 =3D 27

What doesn't seem to fit with previous indication "There is a fixed-size he= ader (occupying 23 bytes on most machines)"

Researching in old doc shows that in 8.2 the documentation
https://www.postgresql.org/docs/8.2/storage-page-layout.html
indicate 27 bytes (with the same detailled Table)

Number 23 appears from Postgres 8.3

In some thread like https://stackoverflow.com/questions/2966524/calculating= -and-saving-space-in-postgresql/7431468
It's possible to read that
Overhead per tuple (row)
... And at least 24 bytes (23 + padding) for the tuple header ...

As there is several thread about this point I suppose there is an evolution= between 8.2 and 8.3 with a missdocumentation for an evolution of detailled= Table "HeapTupleHeaderData Layout"

IS it right ? And in this case what is the real detailled Table ?

Thanks for any explanations
Regards
------=_Part_1027000_854827376.1611323445204 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
= =E2=80=8CHi,

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 obtain&nb= sp; atotal of
4+4+4+4+6+2+2+1 =3D 27

What doesn't seem to fit with previous indication "There is a fixed-size he= ader (occupying 23 bytes on most machines)"

Researching in old doc shows that in 8.2 the documentation
https://www.postgresql.org/docs/8.2/storage-page-layout.html
indicate 27 bytes (with the same detailled Table)

Number 23 appears from Postgres 8.3

In some thread like https://stackoverflow.com/questions/2966524/calculating= -and-saving-space-in-postgresql/7431468
It's possible to read that
Overhead per tuple (row)
... And at least 24 bytes (23 + padding) for the tuple header ...

As there is several thread about this point I suppose there is an evolution= between 8.2 and 8.3 with a missdocumentation for an evolution of detailled= Table "HeapTupleHeaderData Layout"

IS it right ? And in this case what is the real detailled Table ?

Thanks for any explanations
Regards
------=_Part_1027000_854827376.1611323445204--