Abhishek Bhola <abhishek.bhola@xxxxxxxxxxxxxxx> 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