Stała liczba rekordów w bazie postgresql

0

Witam

Chciałbym osiągnąć taki efekt, że w bazie utrzymuję stałą liczbę rekordów np. 10 000.Po kolei dodaje rekordy, aż osiągnę 10 000. Od tej chwili dodanie nowego rekordu powoduje usunięcie najstarszego. Czy są jakieś opcje w pg Admin III które to umożliwiają?? Czy może trzeba wykorzystać zmienną "serial"?

0

takie coś się nazywa trigger

0

Mam takie coś :

CREATE TABLE pomiary
(
  id serial NOT NULL,
  data timestamp without time zone,
  x integer,
  y integer,
  CONSTRAINT pomiary_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE pomiary
  OWNER TO postgres; 

Jak tu dodać tego trigera?

0

może najpierw w ogóle poczytaj co to jest ten "trigger"

0

Czytałem,że to jest zdarzenie przed lub po operacji na bazie danych w moim przypadku przed "Insert" Tylko nie wiem jak zapisać ten warunek?

0

Nikt nie podpowie jak to zrobić??

0

A ta stała liczba to z czego wynika?
Chcesz mieć po prostu cały czas porządek?
Jeśli tak to odradzam triggery, wystarczy proces czyszczący raz na jakiś czas, odpalany na zakończenie aplikacji lub przez harmonogram systemowy.
Po prostu odpowiedni SQL z DELETE.

Trigger zwolni Ci wszystkie operacje INSERT na tabeli a przecież nic się nie stanie jak w ciągu dnia będzie 10013 rekordów a na koniec dnia 10000?

0

Dlatego, że mam ograniczone zasoby na pamięć i chce mieć kontrole nad ilością danych w bazie danych.

0

to tak nie działa - nie wystarczy usunąć rekord, żeby zwolnić miejsce. Przy usuwaniu rekordu nie jest on fizycznie usuwany a jedynie oznaczony jako usunięty. Napisz co to za SZDB

0

Baza danych to postgresql i jest uruchamina na ARM9 na którym pracuje Linux, a do dyspozycji mam 1Gb pamięci. Więc chciałbym mieć kontrole nad rozmiarem bazy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1