Berikut adalah tiga opsi untuk membuat daftar semua fungsi dalam database PostgreSQL.
information_schema.routines
Lihat
Tampilan ini berisi semua fungsi dan prosedur dalam database saat ini yang dapat diakses oleh pengguna saat ini (dengan cara menjadi pemilik atau memiliki hak istimewa).
Berikut ini contoh mengembalikan daftar fungsi:
SELECT
routine_name
FROM
information_schema.routines
WHERE
routine_type = 'FUNCTION'
AND
routine_schema = 'public';
Dalam contoh ini, hanya berfungsi dengan public
skema dikembalikan. Jangan ragu untuk menyertakan lebih banyak kolom jika diperlukan.
pg_proc
Katalog
pg_catalog.pg_proc
katalog menyimpan informasi tentang fungsi, prosedur, fungsi agregat, dan fungsi jendela.
Kita dapat menggabungkan ini dengan pg_catalog.pg_namespace
katalog untuk memfilter hasil ke hanya prosedur dengan public
ruang nama:
SELECT
n.nspname,
p.proname
FROM
pg_catalog.pg_namespace n
JOIN
pg_catalog.pg_proc p ON
p.pronamespace = n.oid
WHERE
p.prokind = 'f'
AND
n.nspname = 'public';
Kami memfilter ke prokind
dari f
untuk membatasi hasil hanya pada fungsi normal.
Nilai yang mungkin adalah f
untuk fungsi normal, p
untuk sebuah prosedur, a
untuk fungsi agregat, atau w
untuk fungsi jendela.
\df
Perintah
Saat menggunakan psql, kita dapat menggunakan \df
perintah:
\df
Secara default, ini hanya mengembalikan objek yang dibuat pengguna. Sebagai alternatif, Anda dapat memberikan pola atau S
pengubah untuk memasukkan objek sistem.
Berikut ini contoh pemberian pola:
\df *key*
Contoh tersebut mempersempit hasil menjadi hanya fungsi/prosedur tersebut dengan teks key
atas nama mereka.
Perhatikan bahwa perintah ini juga mengembalikan prosedur tersimpan. Jenis rutin (mis. func
, proc
) terdaftar dalam type
kolom di output.