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:
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