Abhishek Bhola <abhishek.bh...@japannext.co.jp> writes:
> This morning I noticed this error in my PG CSV log file.
> 2022-05-25 23:59:17.776 JST,,,117110,,628cf2c5.1c976,1,,2022-05-25 23:59:17
> JST,9/611296,0,ERROR,XX001,"uncommitted xmin 16395356 from before xid
> cutoff 144683296 needs to be frozen",,,,,"while scanning block 19267 of
> relation ""relation_name""

> This was a data corruption error that I resolved by truncating the table
> and reloading it. However, I was curious why this message was not sent to
> my syslog.

Seems to me this filter explains that well enough:

> ## Added by DataConsulting Team for syslog filter
> if $programname == 'postgres' and \
> ($msg contains 'CODE:28000'    or \
> $msg contains 'CODE:28P01'     or \
> $msg contains 'CODE:3D000'     or \
> $msg contains 'CODE:08006'     or \
> $msg contains 'CODE:42501'        \
> ) then /xxxx/xxxx/xxx/pg_log/postgres_filter.log

You should realize of course that syslog is not a 100% reliable logging
mechanism -- at least most implementations are capable of dropping
messages under load.  But we needn't guess about reasons for missed
messages here.

                        regards, tom lane


Reply via email to