Dado que cada función/procedimiento debe tener una entrada en pg_proc, puede usar la clave principal para identificar el procedimiento. Esto también eliminaría los problemas con los procedimientos que tienen el mismo nombre pero diferente número de parámetros o diferentes tipos de parámetros.
Las abreviaturas para esto son los tipos regproc
y regprocedure
con los moldes asociados para un manejo más fácil. Busque el manual
para estos.
Identificar la función y pasarla no es problema:
select 'pg_database_size(oid)'::regprocedure; -- create "reference"
regprocedure
-----------------------
pg_database_size(oid)
Usar regprocedure
como tipo de parámetro.
El problema que aún no he resuelto es cómo llamar a tal cosa de una manera conveniente.