From: | Mathieu Arnold <mat(at)mat(dot)cc> |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Cc: | John Roberts <jsrober(at)hotmail(dot)com> |
Subject: | Re: How to delete the oldest X number of rows? |
Date: | 2005-12-12 16:42:38 |
Message-ID: | A97C5DE9038833F04CF53C41@andromede.in.absolight.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
+-le 12/12/2005 11:29 -0500, John Roberts a dit :
| Hi,
|
| I have a table that logs the performance of a system. I get an entry in
| this table each time the system does something.
|
| I want to keep the last 50,000 rows in the table. I'd like to run a cron
| job every 5 minutes that will delete all rows > 50,000, oldest first.
| What's the most efficient way to do this query/delete?
|
| DELETE FROM log WHERE timestamp < ????
|
| I can come up with a way to do this using COUNT(*), but I'll bet there is a
| smarter way.
Would that :
DELETE FROM log WHERE timestamp < (select timestamp from log order by
timestamp desc limit 1 offset 50000);
do ?
--
Mathieu Arnold
From | Date | Subject | |
---|---|---|---|
Next Message | A. Kretschmer | 2005-12-12 16:47:16 | Re: How to delete the oldest X number of rows? |
Previous Message | John Roberts | 2005-12-12 16:29:58 | How to delete the oldest X number of rows? |