From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Joshua Tolley <eggyknap(at)gmail(dot)com>, jd <jd(at)commandprompt(dot)com>, Itagaki Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: syslog_line_prefix |
Date: | 2009-09-28 20:47:56 |
Message-ID: | 4AC120FC.4080500@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>
>> Alvaro Herrera wrote:
>>
>>> syslog uses a nonblocking file descriptor without a retry loop to
>>> implement their logic. I see no reason we couldn't do that ourselves.
>>> Mixing it with regular blocking code could turn out to be nontrivial,
>>> but I don't think it's impossible.
>>>
>
>
>> Well, for CSV logs it's a complete non-starter. We go to quite a deal of
>> trouble to ensure we don't miss messages, because if we do the CSVs will
>> be hopelessly corrupted.
>>
>
> You could make it work if write() had all-or-nothing semantics, so that
> you could write or discard a whole logical message at once. But I don't
> believe that's guaranteed for any interesting cases.
>
>
>
Right. That's part of why we had to invent the chunking protocol between
the backends and the syslogger, IIRC.
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2009-09-28 20:54:05 | Re: [PATCH] DefaultACLs |
Previous Message | Tom Lane | 2009-09-28 20:27:23 | Re: [PATCH] DefaultACLs |