The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/15/index.html Description:
https://www.postgresql.org/docs/devel/storage-toast.html - This is the development version. > PLAIN prevents either compression or out-of-line storage; furthermore it disables use of single-byte headers for varlena types. This is the only possible strategy for columns of non-TOAST-able data types. However, it does allow "single byte" headers. How to verify this? CREATE EXTENSION pageinspect; CREATE TABLE test(a VARCHAR(10000) STORAGE PLAIN); INSERT INTO test VALUES (repeat('A',10)); Now peek into the page with pageinspect functions SELECT left(encode(t_data, 'hex'), 40) FROM heap_page_items(get_raw_page('test', 0)); This returned value of "1741414141414141414141". Here the first byte 0x17 = 0001 0111 in binary. Length + 1 is stored in the length bits (1-7). So Len = 0001011-1 = (11-1) [base-10] = 10 [base-10] which exactly matches the expected length. Further the data "41" repeated 10 times also indicates character A (65 or 0x41 in ASCII) repeated 10 times. So....This does **not** disable 1-B header. That sentence should be removed from the documentation unless this is a bug.