Re: OS File Size > 1GB - Mailing list pgsql-admin

From Tom Lane
Subject Re: OS File Size > 1GB
Date
Msg-id 19562.1027618309@sss.pgh.pa.us
Whole thread Raw
In response to OS File Size > 1GB  (Chris Ruprecht <chrup@earthlink.net>)
Responses Re: OS File Size > 1GB  (Chris Ruprecht <chrup@earthlink.net>)
List pgsql-admin
Chris Ruprecht <chrup@earthlink.net> writes:
> The default size of a Postgres file seems to be 1 GB. I know, I can increase
> that by modifying <can't remember what it was I did here - that parameter
> which gives you the file size, once you divide it by the blocksize>
> My question is: is it safe to do so?

Yes, *if* your OS supports large files.

It might fail at 2GB, and definitely will fail beyond 4GB, because we
use 32-bit arithmetic to compute file offsets.  You could possibly fix
this with some fairly localized hacking in fd.c, which AFAIK is pretty
much the only place that actually deals in byte offsets rather than
block numbers.  If you were to make that code talk to a 64-bit-offset
fseek call, you could probably disable segment splitting entirely (look
in md.c to see the #ifdef for that).

If you try this, let us know how it works.  That code hasn't been
touched recently, but I think it would be cool if there were a
compile option for 64-bit file offsets in place of segment splitting.

            regards, tom lane

pgsql-admin by date:

Previous
From: Nicolas Kowalski
Date:
Subject: database ownership and dumps
Next
From: Tom Lane
Date:
Subject: Re: database ownership and dumps