Tom Lane wrote:
Alvaro Herrera <[EMAIL PROTECTED]> writes:
I wonder, if we were to use an LWLock to protect writing to the stderr
pipe, would it be too contentious?

Sorry, that's a nonstarter.

1. Not all our processes are connected to shared memory.  Even the ones
that are don't necessarily have PGPROCs.

2. If somebody crashes while holding the lock, the entire system
including the postmaster soon freezes up.

3. Having the postmaster take LWLocks is verboten anyway, mainly because
of problem #2.


Ugh. Well, until this problem is solved I'm not prepared to commit a patch that purports to provide machine readable logs. The only non-locking solution I can think of is to have one set of pipes per backend rather than one set per cluster. That could get pretty ugly, though, and have all sorts of problems with portability.

I'm starting to wonder if the CSVlog patch needs to be put on hold at least for 8.4. If we do, I think I should at least commit the piece that prevents rotation in the middle of a line, and possible even backpatch it.



---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at


Reply via email to