sql >> Databáze >  >> RDS >> PostgreSQL

3 způsoby, jak vypsat všechny uložené procedury v databázi PostgreSQL

Zde jsou tři možnosti pro výpis všech uložených procedur v databázi Postgres.

information_schema.routines Zobrazit

Tento pohled obsahuje všechny funkce a procedury v aktuální databázi, ke kterým má aktuální uživatel přístup (jako vlastník nebo nějaké oprávnění).

Zde je příklad vrácení seznamu uložených procedur:

SELECT
    routine_schema,
    routine_name
FROM 
    information_schema.routines
WHERE 
    routine_type = 'PROCEDURE';

V případě potřeby můžete přidat více sloupců. Definici procedury můžete získat pomocí routine_definition sloupec.

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 = 'p'
AND
    n.nspname = 'public';

Filtrovali jsme na prokind z p omezit výsledky na uložené procedury.

Možné hodnoty jsou f pro normální funkci p pro proceduru a pro agregační funkci nebo w pro funkci okna.

Můžete přidat p.prosrc sloupec, abyste získali definici procedury. Nebo můžete předat p.oid do pg_get_functiondef() funkce. Tato funkce vytvoří CREATE OR REPLACE PROCEDURE příkaz pro uloženou proceduru.

\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 *album*

Tento příklad zužuje výsledky pouze na funkce/procedury s textem album jejich jménem.

Všimněte si, že tento příkaz také vrací funkce. Typ rutiny (např. func , proc ) je uveden v type sloupec ve výstupu.


  1. Jak zobrazím všechny cizí klíče k tabulce nebo sloupci?

  2. Jak nainstalovat SQL Server na Ubuntu 18.04

  3. Jak stáhnout osolené heslo z databáze a auth uživatele?

  4. Jak generovat skripty drop Unique Constraint v databázi SQL Server - SQL Server / Výukový program TSQL, část 99