TOAST pointer size
От | PG Doc comments form |
---|---|
Тема | TOAST pointer size |
Дата | |
Msg-id | 160712558528.686.9567660182316195384@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: TOAST pointer size
|
Список | pgsql-docs |
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/13/storage-toast.html Description: Hey team, It would be nice to add a break-down of why the TOAST Pointer size is 18 bytes quoting here ```A pointer datum representing an out-of-line on-disk TOASTed value therefore needs to store the OID of the TOAST table in which to look and the OID of the specific value (its chunk_id). For convenience, pointer datums also store the logical datum size (original uncompressed data length) and physical stored size (different if compression was applied). Allowing for the varlena header bytes, the total size of an on-disk TOAST pointer datum is therefore 18 bytes regardless of the actual size of the represented value. ``` Assuming OID is a 4 bytes unsigned, So 4 bytes for the TOAST Table OID + 4 bytes for the Chunk Id (OID) + how many bytes for the physical stored size+ how many bytes for the logical datum size + 4 bytes for the verlena header bytes ? Searched every where but couldn't find an answer how that adds up to 18 bytes
В списке pgsql-docs по дате отправления: