Hi,

I just helped somebody debug a postgres performance problem that turned out to
be not actually be postgres' fault.  It turned out to be because postgres'
stdout/stderr were piped to a program, and that program was slow. Whenever the
pipe buffer filled up, postgres stopped making progress.

That's not postgres' fault. But we make it too hard to debug such an
issue. There's no way to figure this out from within postgres, one pretty much
needs to look at stack traces.

I think we should add a few wait events for log emission. I think it'd be good
to have one wait event for each log destination.

That's not perfect - we'd e.g. still not be able to debug where the logger
process is stuck, due it not being in pg_stat_activity. But other processes
reporting the wait event for writing to the logger process would be a pretty
good hint.

Greetings,

Andres Freund


Reply via email to