Τεμάχισε τα logs κατά έτος ώστε τα παλιά κομμάτια να μπορούν να διαγραφούν
Ο πίνακας logs συγκεντρώνει 500 εκατομμύρια γραμμές τον χρόνο — τα indexes διογκώνονται, το vacuum επιβραδύνεται και η διαγραφή ενός παλιού έτους γραμμή προς γραμμή διαρκεί αιώνες. Η λύση είναι το partitioning κατά έτος δημιουργίας: κάθε κομμάτι ζει στον δικό του φυσικό πίνακα, και ένα παρωχημένο έτος μπορεί να διαγραφεί συνολικά σε χιλιοστά του δευτερολέπτου.
Φτιάξτε έναν πίνακα logs με id (τύπου BIGSERIAL), ts (timestamp με ζώνη ώρας, υποχρεωτικό) και payload (κείμενο), partitioned κατά εύρος πάνω στο ts. Δημιουργήστε δύο partitions — logs_2024 για ημερομηνίες από την 1η Ιανουαρίου 2024 έως την 1η Ιανουαρίου 2025 (το άνω όριο δεν περιλαμβάνεται) και logs_2025 για το επόμενο έτος με την ίδια λογική. Μια εισαγωγή καταλήγει αυτόματα στο σωστό partition ανάλογα με την ημερομηνία.
Δείγμα αναμενόμενης εξόδου
Έτσι μοιάζει μια σωστή απάντηση — το πλήθος γραμμών της είναι δικό της, δεν χρειάζεται να ταιριάζει με τους πίνακες του σχήματος.
| relname |
|---|
| logs_2024 |
| logs_2025 |
Συνδεθείτε για να δείτε το ιστορικό υποβολών
ΣύνδεσηΣυνδεθείτε για να χρησιμοποιήσετε τον AI Mentor
ΣύνδεσηΧωρίς αρχικό σχήμα
Αυτή η άσκηση ξεκινά χωρίς πίνακες — θα τους δημιουργήσετε μέσω CREATE TABLE.