Re: Postgresql "FIFO" Tables, How-To ?

Поиск
Список
Период
Сортировка
От Dennis Gearon
Тема Re: Postgresql "FIFO" Tables, How-To ?
Дата
Msg-id 3F1595DC.5040201@cvc.net
обсуждение исходный текст
Ответ на Re: Postgresql "FIFO" Tables, How-To ?  (Jean-Luc Lachance <jllachan@nsd.ca>)
Ответы Re: Postgresql "FIFO" Tables, How-To ?  ("Leon Oosterwijk" <leon@isdn.net>)
Список pgsql-general
Good idea!

Jean-Luc Lachance wrote:

> OUCH!!! Do a COUNT(*) on a 10M row table???? Forget it.
>
> Here is a simple solution.
> Add a SERIAL field to the table.
> Set the maximum value for that sequence to the number of records you
> want to keep.
> Use a before insert trigger to replace the insert with an update if the
> key already exist.
>
> No need for a cron.
>
>
>
> Dennis Gearon wrote:
>
>>use a PL/PGSQL function. Just do count(*) to find out how many there are, calculate how many to be deleted, and put a
timestampfield in the table. NOW, how to  select the correct ones to delete is PROBABLY done by: 
>>
>>DELETE FROM table_in_question
>>WHERE some_primary_key_id IN
>>   (SELECT some_primary_key_id
>>    FROM table_in_question
>>    ORDER BY the_time_stamp_field
>>    LIMIT the_qty_to_be_deleted);
>>
>>More than likely, in a concurrent environment, you will oscillate between:
>>
>>(the maximum number you want)
>>
>>and
>>
>>(the maximum number you want - the maximum current connections).
>>
>>Unless you so some kind of table locking.
>>
>>Kirill Ponazdyr wrote:
>>
>>
>>>Hello,
>>>
>>>We are currently working on a project where we need to limit number of
>>>records in a table to a certain number. As soon as the number has been
>>>reached, for each new row the oldest row should be deleted (Kinda FIFO),
>>>thus keeping a total number of rows at predefined number.
>>>
>>>The actual limits would be anywhere from 250k to 10mil rows per table.
>>>
>>>It would be great if this could be achieved by RDBMS engine itself, does
>>>Postgres supports this kind of tables ? And if not, what would be the most
>>>elegant soluion to achieve our goal in your oppinion ?
>>>
>>>Regards
>>>
>>>Kirill
>>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 9: the planner will ignore your desire to choose an index scan if your
>>      joining column's datatypes do not match
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faqs/FAQ.html
>


В списке pgsql-general по дате отправления:

Предыдущее
От: "Maksim Likharev"
Дата:
Сообщение: Re: ODBC query problem
Следующее
От: "Leon Oosterwijk"
Дата:
Сообщение: Re: Postgresql "FIFO" Tables, How-To ?