Thread: Re: [SQL] So what happens at 2GB?

Re: [SQL] So what happens at 2GB?

From
Tom Lane
Date:
: "Brett W. McCoy" <bmccoy@lan2wan.com>
> On Sat, 13 Mar 1999, Karl Denninger wrote:
>>>>>> No.  It works properly.  I have had tables exceeding 10GB.
>>>>
>>>> How does it get past an operating system limitation on file size?
>>
>> There isn't one on FreeBSD, but Postgres doesn't seem to know that.
>> Instead, it breaks the table up into 2G-sized file chunks.
>
> It may do that for performance reasons, I would guess, or for
> compatibility with other operating systems that have the limitation

Precisely.

There was in fact a bug report against 6.4, that the feature failed to
work correctly on some OS's because the split point was *exactly* 2Gb;
apparently what works on these platforms is files less than 2Gb, not
files less-than-or-equal-to 2Gb.

6.5 will break tables into chunks a tad smaller than 2Gb in order to
avoid this problem; you might want to alter the RELSEG_SIZE constant
in /users/postgres/pgsql/src/backend/storage/smgr/md.c to do the same
in 6.4.

            regards, tom lane