Prima di tutto, sono uno sviluppatore, non un DBA o un amministratore di sistema; per piacere sii gentile :)
Sto lavorando a un flusso di lavoro dell'applicazione in cui un'azione di un singolo utente attiverà modifiche complesse nel database: la creazione di centinaia di record in alcune tabelle, l'aggiornamento di centinaia di record in altri, ecc. Tutto sommato, circa 12 tabelle (su ~ 100 ) sono toccati da questa azione. A causa della complessità, è molto difficile per me ripristinare manualmente tutte le modifiche prima di poter eseguire un altro test. Durante la maggior parte del mio tempo di sviluppo, posso semplicemente inserire un'istruzione "ROLLBACK" verso la fine del flusso di lavoro, ma quando mi avvicino al commit delle modifiche, devo testare la realtà.
Ho una copia locale del database di produzione con cui lavorare. Nel mio caso, scaricare e ripristinare tra i test è più veloce della scrittura di uno script per annullare tutte le modifiche. È più veloce, ma mi sta ancora rallentando molto (il ripristino richiede circa 20 minuti sul mio vecchio laptop). Esiste un modo per salvare un'istantanea dello stato corrente del database e ripristinarlo rapidamente?
Sono sicuro di essere l'unico utente sul sistema e ho accesso come root. Il dump del database è ~ 100 MB quando viene tarato e decompresso. La versione PostgreSQL è 8.3.
Grazie in anticipo per eventuali idee utili.