Diciamo che abbiamo un database per una compagnia di autobus.Archiviazione di record dal database PostgreSQL che superano la timeline
- Noi raccogliere dati sulle corse di autobus, liste dei passeggeri, carburante ecc
- Lavoriamo principalmente con i dati sui prossimi giostre
- A volte abbiamo bisogno di guardare nella storia (per la contabilità), ma il lasso di tempo è breve (3 mesi al massimo).
- Non vogliamo conservare tutti i record sui nostri server di produzione/sviluppo per ovvi motivi (spreco di memoria, query lente ecc.).
- Vogliamo avere un database separato dove archiviamo l'intera cronologia.
- Quale sarebbe il modo migliore per ottenere questo risultato su PostgreSQL?
Siamo alla ricerca di qualcosa di simile:
- Vogliamo replicare database di produzione (comprese le modifiche di struttura, sequenze ecc)
- Vogliamo eliminare i vecchi dati dal database di produzione, ma escludere queste dichiarazioni dalla replica per mantenere intatto l'archivio.
Esempio:
- Quando un viaggio in autobus è più vecchio di 3 mesi, eliminarlo dalla produzione di DB, ma tenerlo in archivio DB, dove già è.
Quello che stiamo attualmente esaminando: (? Slony)
- Una sorta di replica master/slave.
- Abilita regola REPLICA per le tabelle specifiche in cui abbiamo emendiamo DELETE/UPDATE con alcune regole di tempo (dove data < NOW() - intervallo di 6 mesi '')
Grazie per le vostre intuizioni.
Considererei un [Wrapper di dati stranieri] (https://wiki.postgresql.org/wiki/Foreign_data_wrappers) con una query eseguita su una pianificazione (cron job o simile). Mantienilo semplice. Meno possibilità di errori o confusione in questo modo. – jpmc26