Excerpts from Andrew Dunstan's message of mié ene 18 13:27:40 -0300 2012: > > On 01/18/2012 11:12 AM, Martin Pihlak wrote: > > On 01/18/2012 03:56 AM, Fujii Masao wrote: > >> or syslog process (if you use syslog). So ISTM that there is no > >> guarantee that the order of log messages processed by the > >> hook is same as that of messages written to the log file. For > >> example, imagine the case where two backends call EmitErrorReport() > >> at the same time. Is this OK? If not, the hook might need to be > >> in syslogger. > > For high volume logging I'd avoid going through the syslogger. One > > big issue with syslogger is that it creates a choke point - everything > > has to pass through it, and if it cannot keep up it starts stalling > > the backends. Also, in EmitErrorReport the hook gets to have access > > to the actual ErrorData structure -- that makes filtering and looking > > at message content much simpler. > > Hmm, interesting. I don't think I've encountered a situation where > backends would actually stall.
You have to have really high velocity for this to happen. At least one customer of ours has suffered this problem (I vaguely recall a second case but I'm not really sure), having had to switch to syslog (which uses lossy sockets, with the advantage that it doesn't cause stalls). > But in any case, I don't think we have to > be that deterministic. The only thing that needs to be absolutely > guaranteed is that the log messages from a given backend are in order. > Some slight fuzz between backends seems acceptable. Agreed. -- Álvaro Herrera <alvhe...@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers