Fujii Masao <masao.fujii@oss.nttdata.com> writes:
> Filtering log messages by SQLSTATE might be useful for some users,
> but I'm unsure if it should belong in the core. There are also other
> potential filtering needs, such as by application name, client host,
> database, or roles. Adding only SQLSTATE filtering may not be good idea,
> while supporting all possible cases in the core wouldn't be practical either.
> Given that, I think implementing this as an extension using emit_log_hook
> would be a better approach. Anyway, I'd like to hear more opinions from
> other hackers on this.
I took a brief look and I concur with Fujii-san's conclusion: this'd
be a fine extension a/k/a contrib module, but it seems a bit too
opinionated about what sort of filtering is needed to be appropriate
within elog.c itself.
Also, just as a minor coding thought, I'd suggest using -1 not 0
to terminate the array of encoded SQLSTATEs, rather than assuming
that nobody would write 00000. Compare commit 58fdca220.
regards, tom lane