Knowing when a table was last used
Once you come to know that a table is not used currently, the next question is "when was it last used?"
Getting ready
Get access to the database as a superuser or to the database host computer as a postgres
system user.
How to do it…
PostgreSQL does not have any built-in "last used" information about tables, so you have to use other means to figure it out.
If you have set up a cron job to collect usage statistics, as described in the previous chapter, then it is relatively easy to find out the last date of change using a SQL query.
Other than this, there are basically two possibilities, neither of which gives you absolutely reliable answers.
You can either look at actual timestamps of the files in which the data is stored, or you can use the xmin
and xmax
system columns to find out the latest transaction ID that changed the table data.
In this recipe, we cover the first case and focus on the date information of the table's files.
The following PL/pgSQL function...