PostgreSQL suit les dépendances et vide les caches de manière assez agressive lorsque les choses changent.
Si vous modifiez une fonction, cela invalidera au moins les plans de toutes les fonctions qui en dépendent. En pratique, IIRC vide entièrement tous les plans de requête mis en cache.
Il en va de même pour les vues qui dépendent d'autres vues, les déclarations préparées qui font référence à des vues, etc.
Si vous trouvez un cas où il ne parvient pas à le faire, vous avez trouvé un bogue. Veuillez le signaler avec un cas de test reproductible complet.