Re: Move pg_attribute.attcompression to earlier in struct for reduced size?
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org, Dilip Kumar <dilipbalaut@gmail.com>, Robert Haas <robertmhaas@gmail.com>
Date: 2021-05-24T04:09:18Z
Lists: pgsql-hackers
Attachments
- detoast-recompress.patch (text/x-diff) patch
On Fri, May 21, 2021 at 02:19:29PM -0700, Andres Freund wrote: > During VACUUM FULL reform_and_rewrite_tuple() detoasts the old value if > it was compressed with a different method, while in > TopTransactionContext. There's nothing freeing that until > TopTransactionContext ends - obviously not great for a large relation > being VACUUM FULLed. Yeah, that's not good. The confusion comes from the fact that we'd just overwrite the values without freeing them out if recompressed, so something like the attached would be fine? -- Michael
Commits
-
Remove forced toast recompression in VACUUM FULL/CLUSTER
- dbab0c07e5ba 14.0 landed
-
Rethink definition of pg_attribute.attcompression.
- e6241d8e030f 14.0 landed
-
Fix memory leak when de-toasting compressed values in VACUUM FULL/CLUSTER
- fb0f5f0172ed 14.0 landed
-
Re-order pg_attribute columns to eliminate some padding space.
- f5024d8d7b04 14.0 landed
-
Add more TAP tests for pg_dump with attribute compression
- 63db0ac3f9e6 14.0 cited