On Sun, 2023-01-15 at 16:40 -0500, Tom Lane wrote: > Laurenz Albe <laurenz.a...@cybertec.at> writes: > > On Tue, 2023-01-10 at 15:53 +0000, PG Doc comments form wrote: > > > > 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". > > > I think that the documentation is wrong. The attached patch removes the > > offending half-sentence. > > The documentation is correct, what is broken is the code.
I see. But what is the reason for that anyway? Why not allow short varlena headers if TOAST storage is set to PLAIN? Yours, Laurenz Albe