sql >> Databáze >  >> RDS >> PostgreSQL

Existuje způsob, jak zakázat přetížení funkcí v Postgresu

Erwin poslal správnou odpověď. Moje další odpověď se týká možnosti zakázat přetížení.

Není možné zakázat přetěžování - to je základní vlastnost systému API funkcí PostgreSQL - a nelze jej zakázat. Víme, že existují některé vedlejší efekty, jako je silná rigidita podpisu funkcí - ale je to ochrana proti některým nepříjemným vedlejším efektům, když se funkce používá v pohledech, definicích tabulek, .. Nelze ji tedy zakázat.

Můžete jednoduše zkontrolovat, zda máte nebo nemáte přetížené funkce:

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


  1. Připojení SQL serveru k PostgreSQL

  2. Dotaz serveru SQL pro získání seznamu sloupců v tabulce spolu s omezeními typu dat, NOT NULL a PRIMARY KEY

  3. 7 způsobů, jak vrátit všechny tabulky s primárním klíčem na SQL Server

  4. Jak mohu vytvořit dynamickou klauzuli WHERE?