Josh Berkus wrote:
> On 4/8/09 9:44 AM, Tom Lane wrote:
>> Josh Berkus<josh@agliodbs.com> writes:
>>> What about seq scans?
>>
>> If the kernel can't read-ahead a seqscan by itself, it's unlikely to
>> be smart enough to be helped by posix_fadvise ... or at least so I
>> would think. Do you have reason to think differently?
>
> Well, Solaris 10 + UFS should be helped by fadvise -- in theory at
> least, it would eliminate the need to modify your mount points for
> better readahead when setting up a PG-Solaris server. Solaris-UFS quite
> lazy about readahead. Zdenek, Jignesh?
>
> You're probably correct about Linux and FreeBSD. I don't know if OSX +
> HFS supports fadvise. If so, it could only help; readahead on HFS right
> now is nonexistant.
>
> Presumably fadvise is useless on Windows. Anyone know?
It's important to distinguish what kind of fadvise we're talking about.
The bitmap scan code issues hints about individual pages, using
posix_fadvise(... POSIX_FADV_WILLNEED). For increasing the readahead of
a sequential scan, you'd want to use POSIX_FADV_SEQUENTIAL. I believe
the support for the latter is much more widespread than for the former.
xlog.c now also uses POSIX_FADV_WONTNEED to drop WAL pages from the OS
cache after writing them.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com