Chcę usunąć wiersze z jednego z moich tabel, które mają więcej niż 7 dni. Jaki jest najlepszy sposób na zrobienie tego? zrobić zadanie cron, które działa co noc lub czy PostgreSQL ma wbudowane funkcje do robienia czegoś takiego?PostgreSQL usunąć stare wiersze na bieżąco?
Odpowiedz
delete from the_table
where the_timestamp < now() - interval '7 days'
Najprostszym sposobem (dla mnie) zaplanowania zadania DB jest utworzenie zadania cron, które wykonuje skrypt SQL za pomocą psql
.
Here
można przeczytać o psql
. Użyj -f
lub -c
, aby przekazać komendy SQL do psql
.
także może być łatwiej napisać funkcję PL/pgSQL, który wykonuje swoją pracę i wywołać ją z psql
z SELECT my_function();
PostgreSQL nie posiada obecnie wbudowaną cron podobną funkcjonalność, tak Chciałbym użyć crona systemu, aby uruchomić odpowiednią instrukcję usuwania. Jeśli masz już indeks btree w kolumnie sygnatury czasowej, możesz równie dobrze uruchamiać usuwanie znacznie częściej niż w nocy, usuwając małe porcje na raz. Jeśli nie posiadasz indeksu, to uruchomienie go co noc poza godzinami szczytu byłoby lepsze.
Jeśli nie mają one wydajności, której potrzebujesz, możesz spróbować partycjonowania. Ale robiłbym to w ostateczności, a nie w pierwszej kolejności.
- 1. Jak przekonwertować typ kolumny z varchar na bieżąco w PostgreSQL?
- 2. epoka na bieżąco mysql
- 3. Zestaw JavaFullScreenWindow() na bieżąco
- 4. Znajdź zduplikowane wiersze z PostgreSQL
- 5. PostgreSQL wyzwalania i wiersze zaktualizowane
- 6. AWK usunąć puste wiersze
- 7. Google BigQuery Usunąć wiersze?
- 8. ffmpeg HTTP STREAMING LIVE usunąć stare segmenty
- 9. Jak usunąć stare dzienniki z log4j2
- 10. Z plikami .ics mogę usunąć stare zdarzenia?
- 11. Jak usunąć postgresql noise
- 12. Jak usunąć wiersze za pomocą zewnętrznego łączenia
- 13. Jak usunąć wiersze w Yii2?
- 14. java.time: DateTimeParseException na bieżąco „20150901023302166”
- 15. Projekt Clojure Projekt na bieżąco?
- 16. Jak usunąć wiersze z DataGridView?
- 17. Dlaczego mój tablesorter nadal buforuje moje stare wiersze?
- 18. Jak całkowicie usunąć zduplikowane wiersze
- 19. Jak usunąć wiersze w jqgrid
- 20. DataTable, Jak warunkowo usunąć wiersze
- 21. Jak usunąć wiersze z openpyxl?
- 22. Skutecznie duplikuj niektóre wiersze w tabeli PostgreSQL
- 23. PostgreSQL usunąć ze sprzężenia wewnętrznego
- 24. PostgreSQL: jak usunąć klaster bazy
- 25. Funkcja usunąć akcenty w PostgreSQL
- 26. Jak usunąć wiersze z ramki danych na podstawie funkcji podzestawu?
- 27. TSQL Usunąć zduplikowane wiersze na niektóre kolumny tylko
- 28. Prowadzenie oddziału na bieżąco z mistrzem
- 29. Jak usunąć wszystkie wiersze z siatki Kendo
- 30. Usunąć wiersze MySql lub oznaczyć "martwe"?
Czy w wierszu znajduje się znacznik czasu? –
wiersze mają sygnaturę czasową – Arya
Dlaczego warto usuwać dane, dlaczego nie zapytać o nie? A jeśli będziesz pracować na noc, będziesz miał dane prawie osiem dni przed rozpoczęciem pracy - dlaczego nie uruchamiać co godzinę lub co minutę? – Josh