Eftersom varje funktion/procedur måste ha en post i pg_proc, kan du använda primärnyckeln för att identifiera proceduren. Detta skulle också eliminera problemen med procedurer som har samma namn men olika antal parametrar eller olika parametertyper.
Stenografier för detta är typerna regproc
och regprocedure
med tillhörande avgjutningar för enklare hantering. Slå upp manualen
för dessa.
Att identifiera funktionen och skicka runt den är inga problem:
select 'pg_database_size(oid)'::regprocedure; -- create "reference"
regprocedure
-----------------------
pg_database_size(oid)
Använd regprocedure
som parametertyp.
Problemet jag ännu inte kommit på är hur man faktiskt kan kalla en sådan sak på ett bekvämt sätt.