Tatsuo Ishii <ishii@postgresql.org> writes:
> Correct me if I am wrong.
> After expanding large object API to 64-bit, the max size of a large
> object will be 8TB(assuming 8KB default BLKSZ).
> large object max size = pageno(int32) * LOBLKSIZE
> = (2^32-1) * (BLCKSZ / 4)
> = (2^32-1) * (8192/4)
> = 8TB
> I just want to confirm my calculation is correct.
pg_largeobject.pageno is a signed int, so I don't think we can let it go
past 2^31-1, so half that.
We could buy back the other bit if we redefined the column as oid
instead of int4 (to make it unsigned), but I think that would create
fairly considerable risk of confusion between the loid and pageno
columns (loid already being oid). I'd just as soon not go there,
at least not till we start seeing actual field complaints about
4TB being paltry ;-)
regards, tom lane