On Thu, 5 Apr 2007, Xiaoning Ding wrote:
>> > Xiaoning
>> > Looks like it. I just did a cursory search of the archives and it seems
>> > that others have looked at this before so you'll probably want to start
>> > there if your up to it.
>> Linux used to have (still does?) a RAW interface which might also be
>> useful. I think the original code was contributed by oracle so they
>> could support direct IO.
> I am more concerned with reads , and how to do direct I/O under Linux here.
> Reading raw devices in linux bypasses OS buffer cache.
it also bypassed OS readahead, not nessasarily a win
> But how can you
> mount a raw device( it is a character device) as a file system?
you can do a makefs on /dev/hda just like you do on /dev/hda2 and then
mount the result as a filesystem.
Postgres wants the OS layer to provide the filesystem, Oracle implements
it's own filesystem, so you would just point it at the drive/partition and
it would do it's own 'formatting'
this is something that may be reasonable for postgres to consider doing
someday, since postgres allocates things into 1m files and then keeps
track of what filename is used for what, it could instead allocate things
in 1m (or whatever size) chunks on the disk, and just keep track of what
addresses are used for what instead of filenames. this would definantly
allow you to work around problems like the ext2/3 indirect lookup
problems. now that the ability for partitioned table spaces it would be an
interesting experiment to be able to define a tablespace that used a raw
device instead of a filesystem to see if there are any noticable
In response to
pgsql-performance by date
|Next:||From: david||Date: 2007-04-06 02:07:44|
|Subject: Re: SCSI vs SATA|
|Previous:||From: Joseph S||Date: 2007-04-06 00:25:11|
|Subject: Re: ERROR: out of shared memory|