Da hver funktion/procedure skal have en indgang i pg_proc, kan du bruge den primære nøgle til at identificere proceduren. Dette ville også eliminere problemerne med procedurer med samme navn, men forskellige antal parametre eller forskellige parametertyper.
Stenografier for dette er typerne regproc
og regprocedure
med tilhørende afstøbninger for lettere håndtering. Slå manualen
op. for disse.
Det er ikke noget problem at identificere funktionen og videregive den:
select 'pg_database_size(oid)'::regprocedure; -- create "reference"
regprocedure
-----------------------
pg_database_size(oid)
Brug regprocedure
som parametertype.
Det problem, jeg endnu ikke har fundet ud af, er, hvordan man rent faktisk kalder sådan noget på en bekvem måde.