Re: How to delete the oldest X number of rows?

From: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: How to delete the oldest X number of rows?
Date: 2005-12-12 16:47:16
Message-ID: 20051212164716.GA32526@webserv.wug-glas.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

am 12.12.2005, um 11:29:58 -0500 mailte John Roberts folgendes:
> 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 < ????

Something like:

select timestamp from log order by timestamp limit 1 offset 49999;

to get the oldest timestamp to keep and delete the early rows?

*untestet*

delete from fol where timestamp < (select timestamp from log order by
timestamp limit 1 offset 49999);

HTH, Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47212, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
=== Schollglas Unternehmensgruppe ===

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message operationsengineer1 2005-12-12 17:05:54 Re: Bind Variables and Quoting / Dequoting Input
Previous Message Mathieu Arnold 2005-12-12 16:42:38 Re: How to delete the oldest X number of rows?