On 05/12/2014 12:30 AM, Andres Freund wrote:
>So if I were to take Andres'
>complaint seriously at all, I'd be thinking in terms of "do we need to
>widen BlockNumber to int64?", not "how do we make this print as
>unsigned?".  But I doubt such a proposal would fly, because of the
>negative impact on index sizes.
Yea, I am not wild for that either. I guess migrating to a postgres with
a larger blocksize is the next step.

A larger block size won't buy you very much time either.

We could steal some bits from the OffsetNumber portion of an ItemPointer. If we assume the max. block size of 32kb, and that each Item takes at least 16 bytes, you only need 11 bits for the offset number. That leaves 5 bits unused, and if we use them to expand the block number to 37 bits in total, that's enough for 1 PB with the default 8k block size.

But I concur that in practice, if you're dealing with 16TB tables, it's time to partition.

- Heikki


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to