http://www.perlmonks.org?node_id=246837

grantm has asked for the wisdom of the Perl Monks concerning the following question:

I'm using Apache::Session to store session state in a PostgreSQL database. If the user hits the logout button, I can call the delete() method on the tied session object, but if the user just goes away, their session data lives on forever in the database table. What method do people use for cleaning up old sessions?

I considered adding a timestamp column to the session table and defining a trigger to update this column on any insert or update. Then I could run a simple delete statement to delete rows where the timestamp value is say more than a couple of hours old. This seemed like it might be reinventing the wheel but I can't see anything in the Apache::Session docs that looks like a standard way of doing it.

Super search pulled up this node which seems to imply that simply adding a column called 'time' would cause Apache::Session::MySQL to update the timestamp on each save, but I couldn't see anything in the code to support that assertion.