Re: Block at a time ... - Mailing list pgsql-performance

From Dave Crooke
Subject Re: Block at a time ...
Date
Msg-id ca24673e1003170816r4690672xc83252fa3f71b23d@mail.gmail.com
Whole thread Raw
In response to Re: Block at a time ...  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
Greg - with Oracle, I always do fixed 2GB dbf's for poartability, and preallocate the whole file in advance. However, the situation is a bit different in that Oracle will put blocks from multiple tables and indexes in a DBF if you don't tell it differently.

Tom - I'm not sure what Oracle does, but it literally writes the whole extent before using it .... I think they are just doing the literal equivalent of dd if=/dev/zero ... it takes several seconds to prep a 2GB file on decent storage.

Cheers
Dave

On Wed, Mar 17, 2010 at 9:27 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Greg Stark <gsstark@mit.edu> writes:
> I think we need posix_fallocate().

The problem with posix_fallocate (other than questionable portability)
is that it doesn't appear to guarantee anything at all about what is in
the space it allocates.  Worst case, we might find valid-looking
Postgres data there (eg, because a block was recycled from some recently
dropped table).  If we have to write something anyway to zero the space,
what's the point?

                       regards, tom lane

pgsql-performance by date:

Previous
From: VJK
Date:
Subject: Fwd: shared_buffers advice
Next
From: Craig James
Date:
Subject: Re: Block at a time ...