On 2/28/07, Andrew Edson <[EMAIL PROTECTED]> wrote:

I've been given a file to maintain, the purpose of which is to purge the
database of records more than two years old.  (Database setup is pg 8.1.3)

The program (written in perl) enters postgres as the user 'postgres', and
is supposed to select foreign-key records from all tables that link
together with a table which has a delete_dt field in it, so long as the
delete_dt value (timestamp with time zone) is more than two years old.  It
then, within a running loop, is supposed to table-by-table delete all
records where the value of the key in question matches the returned value.
Delete command is simply 'DELETE FROM [table] WHERE [key] = [result
variable]'.  Result variables are set as [Variable] = $result[x] where
$result is the return from the select and x is the relative location of the
value in question within the select.

The program can apparently enter the database quite nicely, because it's
capable of running the initial select statement and receiving results; a set
of print statements to the log file that the program creates reveals that
it's *getting *the information.  However, it seems to be unable to delete
records; going into the database after the program finishes running and
running the select statement from within the program yields exactly the same
records as doing so before the delete program runs.

Does anyone know of anything in Postgres that might be causing this
unusual behavior?  Or should I check the perl mailing lists instead?

Thank you for your consideration.

------------------------------
No need to miss a message. Get email on-the-go
<http://us.rd.yahoo.com/evt=43910/*http://mobile.yahoo.com/mail%0A>
with Yahoo! Mail for Mobile. Get 
started.<http://us.rd.yahoo.com/evt=43910/*http://mobile.yahoo.com/mail%0A>


Is the program committing the change?

Reply via email to