Re: Relpartbound, toasting and pg_class

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Relpartbound, toasting and pg_class
Date: 2017-06-12 22:10:52
Message-ID: 12529.1497305452@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> Tom Lane wrote:
>> How about gathering some actual evidence on the point --- ie, how big
>> a partition expression do you need to make it fall over?

> You'd need a 2kB expression (after compression) in
> relpartbound before you hit a problem here. I wouldn't worry about it
> at this stage ...

Actually, as long as the expression was less than ~8KB after compression,
it'd work. But I don't have a clear idea of complex an expression that
really is --- we've never made much of an effort to make the outfuncs.c
representation compact, so maybe there's an issue here? As I said,
it'd be worthwhile checking some actual examples rather than guessing.

> Not on point, but this conversation reminded me of
> https://www.commandprompt.com/blog/grant_schema_usage_to_2500_users_no_can_do/
> wherein you needed 2500 roles in an ACL column before it became a
> problem -- and the project's stance is not to bother supporting that
> case.

Quite on point really. But there we knew how many entries it took to
break it, and we also knew that good practice wouldn't hit the problem
because you'd use groups instead of a lot of individual ACL entries.
I don't think we're in a position yet to just dismiss this question.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2017-06-12 22:11:18 Re: Transactional sequence stuff breaks pg_upgrade
Previous Message Alvaro Herrera 2017-06-12 21:59:05 Re: Relpartbound, toasting and pg_class