Zde jsou tři možnosti pro výpis všech funkcí v databázi PostgreSQL.
information_schema.routines Zobrazit
Toto zobrazení obsahuje všechny funkce a procedury v aktuální databázi, ke kterým má aktuální uživatel přístup (tím, že je vlastníkem nebo má nějaké oprávnění).
Zde je příklad vrácení seznamu funkcí:
SELECT
routine_name
FROM
information_schema.routines
WHERE
routine_type = 'FUNCTION'
AND
routine_schema = 'public';
V tomto příkladu funguje pouze s public schéma se vrátí. V případě potřeby můžete zahrnout více sloupců.
pg_proc Katalog
pg_catalog.pg_proc katalog ukládá informace o funkcích, procedurách, agregačních funkcích a funkcích oken.
Můžeme se k tomu připojit pomocí pg_catalog.pg_namespace katalogu filtrovat výsledky pouze na procedury s public jmenný prostor:
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';
Filtrovali jsme na prokind z f omezit výsledky pouze na normální funkce.
Možné hodnoty jsou f pro normální funkci p pro proceduru a pro agregační funkci nebo w pro funkci okna.
\df Příkaz
Při použití psql můžeme použít \df příkaz:
\df
Ve výchozím nastavení vrací pouze objekty vytvořené uživatelem. Alternativně můžete zadat vzor nebo S modifikátor pro zahrnutí systémových objektů.
Zde je příklad poskytnutí vzoru:
\df *key*
Tento příklad zužuje výsledky pouze na funkce/procedury s textem key jejich jménem.
Všimněte si, že tento příkaz také vrací uložené procedury. Typ rutiny (např. func , proc ) je uveden v type sloupec ve výstupu.