PostgreSQL realiza un seguimiento de las dependencias y vacía los cachés de forma bastante agresiva cuando las cosas cambian.
Si cambia una función, invalidará al menos los planes de todas las funciones que dependen de ella. En la práctica, IIRC simplemente vacía por completo todos los planes de consulta almacenados en caché.
Lo mismo ocurre con las vistas que dependen de otras vistas, declaraciones preparadas que hacen referencia a vistas, etc.
Si encuentra un caso en el que no lo hace, ha encontrado un error. Infórmelo con un caso de prueba reproducible completo.