PostgreSQL tiene traccia delle dipendenze e svuota le cache in modo piuttosto aggressivo quando le cose cambiano.
Se modifichi una funzione, invaliderà almeno i piani di tutte le funzioni che dipendono da essa. In pratica, IIRC svuota completamente tutti i piani di query memorizzati nella cache.
Lo stesso vale per i punti di vista che dipendono da altri punti di vista, le dichiarazioni preparate che fanno riferimento a punti di vista, ecc.
Se trovi un caso in cui non riesce, hai trovato un bug. Si prega di segnalarlo con un test case completo riproducibile.