Problem with pg_attribute.attstorage for pg_class.relacl
pg_class.relacl is of type aclitem[] and has a pg_attribute.attstorage
of 'x', even though it doesn't support TOAST expansion:
grant select on t1 to foo1,foo2,foo3,foo4, ...(10k of items)
ERROR: Tuple is too big: size 32684, max size 813
Is it 'x' to be consistent with other aclitem[] instances, but can't use
TOAST because it is part of the pg_class system cache? Should we modify
pg_attribute.h to make it not an 'x'?
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Bruce Momjian <pgman@candle.pha.pa.us> writes:
pg_class.relacl is of type aclitem[] and has a pg_attribute.attstorage
of 'x', even though it doesn't support TOAST expansion:
It can't be toasted because pg_class hasn't got a toast table. I can't
recall at the moment whether there's a fundamental reason for that or
it's just an oversight.
Should we modify pg_attribute.h to make it not an 'x'?
No, because that would not improve the error message. All it would do
is prevent relacl from making use of a pg_class toast table, when and if
we get around to adding one.
regards, tom lane