¿Hay alguna manera de deshabilitar la sobrecarga de funciones en Postgres

Mis usuarios y yo no utilizamos la sobrecarga de funciones en PL / pgSQL. Siempre tenemos una función por tupla (esquema, nombre). Como tal, nos gustaría descartar una función solo por nombre, cambiar su firma sin tener que descartarla primero, etc. Considere, por ejemplo, la siguiente función:

CREATE OR REPLACE FUNCTION myfunc(day_number SMALLINT)
RETURNS TABLE(a INT)
AS
$BODY$
BEGIN
  RETURN QUERY (SELECT 1 AS a);
END;
$BODY$
LANGUAGE plpgsql;

Para ahorrar tiempo, nos gustaría invocarlo de la siguiente manera, sin calificar 1 con::SMALLINT, porque solo hay una función llamada myfunc, y tiene exactamente un parámetro llamado day_number:

SELECT * FROM myfunc(day_number := 1)

No hay ambigüedad, y el valor 1 es consistente conSMALLINT tipo, pero PostgreSQL se queja:

SELECT * FROM myfunc(day_number := 1);
ERROR:  function myfunc(day_number := integer) does not exist
LINE 12: SELECT * FROM myfunc(day_number := 1);
                       ^
HINT:  No function matches the given name and argument types.
You might need to add explicit type casts.

Cuando invocamos tales funciones desde Python, utilizamos un contenedor que busca las firmas de las funciones y califica los parámetros con tipos. Este enfoque funciona, pero parece haber un potencial de mejora.

¿Hay alguna manera de desactivar la sobrecarga de funciones por completo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta