Re-order pg_attribute columns to eliminate some padding space.
Now that attcompression is just a char, there's a lot of wasted
padding space after it. Move it into the group of char-wide
columns to save a net of 4 bytes per pg_attribute entry. While
we're at it, swap the order of attstorage and attalign to make for
a more logical grouping of these columns.
Also re-order actions in related code to match the new field ordering.
This patch also fixes one outright bug: equalTupleDescs() failed to
compare attcompression. That could, for example, cause relcache
reload to fail to adopt a new value following a change.
Michael Paquier and Tom Lane, per a gripe from Andres Freund.
Discussion: https://postgr.es/m/20210517204803.iyk5wwvwgtjcmc5w@alap3.anarazel.de
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/f5024d8d7b04de2f5f4742ab433cc38160354861
Modified Files
--------------
doc/src/sgml/catalogs.sgml | 28 ++++++++++++++--------------
src/backend/access/common/tupdesc.c | 16 +++++++++++-----
src/backend/access/spgist/spgutils.c | 4 ++--
src/backend/bootstrap/bootstrap.c | 13 +++++++------
src/backend/catalog/genbki.pl | 8 ++++----
src/backend/catalog/heap.c | 19 ++++++++++---------
src/backend/catalog/index.c | 10 ++++++----
src/backend/commands/tablecmds.c | 28 ++++++++++++----------------
src/include/access/spgist_private.h | 2 +-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_attribute.h | 22 +++++++++++-----------
11 files changed, 79 insertions(+), 73 deletions(-)