Re: Using Threads?

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: The Hermit Hacker <scrappy@hub.org>
Cc: Junfeng Zhang <junfengz@cae.wisc.edu>, pgsql-hackers@postgresql.org
Date: 2000-12-04T20:29:19Z
Lists: pgsql-hackers
The Hermit Hacker <scrappy@hub.org> writes:
>> Why not use threads instead? Is that just for a
>> historical reason, or some performance/implementation concern?

> Several reasons, 'historical' probably being the strongest right now
> ... since PostgreSQL was never designed for threading, its about as
> 'un-thread-safe' as they come, and cleaning that up will/would be a
> complete nightmare (should eventually be done, mind you) ...

> The other is stability ... right now, if one backend drops away, for
> whatever reason, it doesn't take down the whole system ... if you ran
> things as one process, and that one process died, you just lost your whole
> system ...

Portability is another big reason --- using threads would create lots
of portability headaches for platforms that had no threads or an
incompatible threads library.  (Not to mention buggy threads libraries,
not-quite-thread-safe libc routines, yadda yadda.)

The amount of work required looks far out of proportion to the payoff...

			regards, tom lane