PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Existe-t-il un moyen de désactiver la surcharge de fonctions dans Postgres

Erwin a envoyé une réponse correcte. Ma réponse suivante concerne la possibilité de désactiver la surcharge.

Il n'est pas possible de désactiver la surcharge - il s'agit d'une fonctionnalité de base du système d'API de fonction PostgreSQL - et ne peut pas être désactivé. Nous savons donc qu'il y a des effets secondaires comme une forte rigidité de signature de fonction - mais c'est une protection contre certains effets secondaires désagréables lorsque la fonction est utilisée dans les vues, les définitions de table, .. Vous ne pouvez donc pas la désactiver.

Vous pouvez simplement vérifier si vous avez ou non des fonctions surchargées :

postgres=# select count(*), proname 
               from pg_proc 
              where pronamespace <> 11 
              group by proname 
              having count(*) > 1;
 count | proname 
-------+---------
(0 rows)