Ho un sistema in cui non riesco a controllare la progettazione di alcune tabelle (replicate tramite Slony-I), e quindi ho una serie di quelli che chiamiamo "tabelle d'ombra", dove estraggo alcune informazioni dalle tabelle replicate e archiviarlo nella forma elaborata di cui ho bisogno, eliminando i record che voglio ignorare.
In questo momento, dopo aver impostato una nuova replica, eseguo un aggiornamento e ripristino un valore su se stesso (ad es. UPDATE tablename SET field=field
) Per forzare l'esecuzione del trigger, ma alcune tabelle sono milioni di record e in crescita e possono richiedere 30 minuti . (e poi c'è anche il vaccuum).
Esiste un modo migliore per attivarlo o un modo per scrivere una funzione in modo che funzioni con l'input passato o in NEW
base al contesto di chiamata? Sono riluttante a mantenere due diverse funzioni, come ho visto troppe volte in cui una viene aggiornata e non l'altra.