> I'm sure you've probably thought about this (and discarded it for
> a variety of reasons), but here it goes anyway:
> 
> Have some daemon ("postmaster" itself, perhaps) service requests for
> pages asynchronously.  For example, have each "postgres" client request
> the pages from "postmaster" and continue running; "postmaster" could
> service the request, map the resulting pages into the shared segment, and
> notify the appropriate "postgres" client (either through the socket
> or some other way) asynchronously.   The "postgres" client could then
> be checking the socket with a non-blocking select whenever it wanted to.
> (Or you could notify the client with a signal telling it that the request
> has been serviced and it can go and get the pages.)
> 
> It's just a suggestion.   Good luck and congratulations for the excellent
> work you've done with postgresql.
> 
> -Ted.
> 
> p.s.  I've got a table that's 77 MB (340,000 records), with six indexes on
>       it totaling another 66 MB.  It does pretty well, actually.

Above is a very good review of a platform-independent way for us to do
async read-aheads, particularly for heap reads from indexes.  I think it
deserves consideration as a good way to perform what we need done.

Shared memory certainly gives us a way to communicate between these
processes.

-- 
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

Mon, 13 Apr 1998 22:40:08 -0400 (EDT)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: Async I/O