sql >> Base de Datos >  >> RDS >> PostgreSQL

Función como parámetro a otra función en Postgres

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.