Karena setiap fungsi / prosedur harus memiliki entri di pg_proc, Anda dapat menggunakan kunci utama untuk mengidentifikasi prosedur. Ini juga akan menghilangkan masalah dengan prosedur yang memiliki nama yang sama tetapi jumlah parameter yang berbeda atau tipe parameter yang berbeda.
Singkatan untuk ini adalah jenis regproc
dan regprocedure
dengan gips terkait untuk penanganan yang lebih mudah. Cari manual
untuk ini.
Mengidentifikasi fungsi dan menyebarkannya bukanlah masalah:
select 'pg_database_size(oid)'::regprocedure; -- create "reference"
regprocedure
-----------------------
pg_database_size(oid)
Gunakan regprocedure
sebagai tipe parameter.
Masalah yang belum saya temukan adalah bagaimana sebenarnya memanggil hal seperti itu dengan cara yang nyaman.