On Thu, 2006-08-17 at 08:33, robin.c.smith@xxxxxx wrote: > I am testing the monitoring of the postgresql 8.1.4 - I have found > that I would like to suppress some things from the log > > For example if I type some random rubbish into the database instead of > select…. I get an error message logged into the server logfile like:- > > 2006-08-17 14:19:00.965 BST 10109 # ERROR: syntax error at or near > "kshdfkjh" at character 1 > 2006-08-17 14:19:00.965 BST 10109 # STATEMENT: kshdfkjh; > > More importantly I have deleted a file from the database tables and > when I try to query data in the file I get the error:- > > 2006-08-17 14:14:30.922 BST 10085 # ERROR: could not open relation > 1663/16384/16385: No such file or directory > 2006-08-17 14:14:30.922 BST 10085 # STATEMENT: select * from > rs_vacuum; > > These are both logged as ERROR: which is easy to check for with > automatic monitoring. However I wouldn't want to be called out to fix > a non-existent error where someone has typed in some nonsense. Is it > easy to suppress the syntax errors so that the real database errors > are obvious? I've had the same issue in the past. A simple fix is to pipe the output of your grep into a series of "grep -v" statements. For instance, this line is how we used to check for errors in our production logs: b=`grep -c PANIC $e`; Just add the grep -v in there: b=`grep -c PANIC $e|grep -vi syntax`; and now syntax errors aren't reported.