On 2017-06-12 17:10:28 -0400, Peter Eisentraut wrote:
> On 6/12/17 15:38, Andres Freund wrote:
> > Just noticed that pg_class now has several varlena fields:
> > #ifdef CATALOG_VARLEN /* variable-length fields start here */
> > /* NOTE: These fields are not present in a relcache entry's rd_rel field. */
> > aclitem relacl[1]; /* access permissions */
> > text reloptions[1]; /* access-method-specific options */
> > pg_node_tree relpartbound; /* partition bound node tree */
> > #endif
> >
> > of those relpartbound is fairly new. And pretty much unbounded in
> > size. Aren't we going to run into issues because pg_class doesn't have a
> > toast table? It's quite reasonable to use a multi-field composite type
> > as a partition boundary...
>
> Cases where relacl became too large have been known to exist. I'm not
> sure whether relpartbound can really be that large to change the
> scenario significantly.
Because it's further increasing the size by something unbounded in size,
which'll not uncommonly be large? It makes a fair amount of sense to
partition by multiple columns at once (using the expression syntax).
- Andres