Re: Strange deletion problem

From: "John Lister" <john(dot)lister-ps(at)kickstone(dot)com>
To: "Szymon Guz" <mabewlun(at)gmail(dot)com>
Cc: <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Strange deletion problem
Date: 2010-03-30 21:51:46
Message-ID: 437F03564D5C4DC1A5E5D466157A3E9A@squarepi.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin


2010/3/30 John Lister <john(dot)lister-ps(at)kickstone(dot)com>

Hi, I have a table which is constantly updated through out the day with no problems, I'm running Postgresql 8.3.8 in ubuntu karmic. However, within the last week for some reason overnight it is being emptied and I can't work out why. I've set log_min_duration_statement to 0 so that postgresql dumps out every query made to the db but it hasn't brought anything up. During the period between from when I know the table is ok to the next morning when it is empty I can see entries in the logs for the expected 200 or so deletions, but during this period approx 15k rows are removed. The odd thing is that there is nothing else in the logs that references the table (I've looked for the obvious deletion and trunctate statements).

The table is modified using JDBC prepared statements so I see 3 entries for each of the expected delete statements (parse, bind, execute) and the statement is as follows:

delete from product_list where retailer_id=? and product_id=?

Therefore I have a few questions:
- Is there any other statements that could be causing the rows to be removed that I've missed
- Is there anything that could be deleting them without generating a log entry for the statement?
- Is it possible that data corruption of either the index/table is making my delete statements removed more rows?
- Is it a possibly bug?

Hi,
- maybe there are some other settings for this database (they are not stored in the file), check the pg_settings table in the database
- maybe you're looking in a wrong log file - sometimes do (they change from time to time - depending on the configuration)
- ensure that the logging is done to file and to THIS file, because there are more logging settings than just log_min_duration and sometimes it can be messed up
- try to restart the database and see if there isn't any other file created as usually I observe that after deleting current log file, the database doesn't recreate while logging so the logs are not stored.

Cheers for replying, I've checked the config and nothing seems to be amiss, as I'm running ubuntu the defaults seem to be to dump to stderr and somehow this is redirect to the log file, there doesn't seem to be any other log files used - although it is possible the ubuntu startup scripts inject the logfile on startup?
Unfortunately I can't restart the database easily, whatever changed seemed to have happened on friday without a restart so I'm hoping I can find and undo it...

John

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Dai, Tino 2010-03-31 02:07:54 Re: Migrate postgres to newer hardware
Previous Message Rodger Donaldson 2010-03-30 21:08:23 Re: Virtualization vs. sharing a server