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 <t...@sss.pgh.pa.us> wrote: > Greg Stark <gsst...@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 >