Aangezien elke functie / procedure een vermelding in pg_proc moet hebben, kunt u de primaire sleutel gebruiken om de procedure te identificeren. Dit zou ook de problemen elimineren met procedures met dezelfde naam maar een verschillend aantal parameters of verschillende parametertypes.
Afkortingen hiervoor zijn de typen regproc
en regprocedure
met de bijbehorende afgietsels voor eenvoudiger gebruik. Zoek de handleiding
op voor deze.
De functie identificeren en doorgeven is geen probleem:
select 'pg_database_size(oid)'::regprocedure; -- create "reference"
regprocedure
-----------------------
pg_database_size(oid)
Gebruik regprocedure
als het parametertype.
Het probleem waar ik nog niet achter was, is hoe je zoiets op een handige manier kunt noemen.