PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

C'è un modo per disabilitare il sovraccarico delle funzioni in Postgres

Erwin ha inviato una risposta corretta. La mia prossima risposta è relativa alla possibilità di disabilitare il sovraccarico.

Non è possibile disabilitare il sovraccarico - questa è una funzionalità di base del sistema API della funzione PostgreSQL - e non può essere disabilitato. Sappiamo quindi che ci sono alcuni effetti collaterali come una forte rigidità della firma della funzione, ma è una protezione contro alcuni spiacevoli effetti collaterali quando la funzione viene utilizzata in Visualizzazioni, definizioni di tabelle, .. Quindi non è possibile disabilitarla.

Puoi semplicemente controllare se hai o meno funzioni sovraccaricate:

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