sql >> Databasteknik >  >> RDS >> PostgreSQL

3 sätt att lista alla funktioner i PostgreSQL

Här är tre alternativ för att lista ut alla funktioner i en PostgreSQL-databas.

information_schema.routines Visa

Denna vy innehåller alla funktioner och procedurer i den aktuella databasen som den aktuella användaren har tillgång till (genom att vara ägare eller ha någon behörighet).

Här är ett exempel på att returnera en lista med funktioner:

SELECT
    routine_name
FROM 
    information_schema.routines
WHERE 
    routine_type = 'FUNCTION'
AND
    routine_schema = 'public';

I det här exemplet fungerar endast med public schemat returneras. Inkludera gärna fler kolumner om det behövs.

pg_proc Katalog

pg_catalog.pg_proc katalogen lagrar information om funktioner, procedurer, aggregerade funktioner och fönsterfunktioner.

Vi kan ansluta till detta med pg_catalog.pg_namespace katalog för att filtrera resultaten till endast procedurer med public namnutrymme:

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';

Vi filtrerade till en prokind av f för att begränsa resultaten till bara normala funktioner.

De möjliga värdena är f för en normal funktion, p för en procedur, a för en aggregerad funktion, eller w för en fönsterfunktion.

\df Kommando

När vi använder psql kan vi använda \df kommando:

\df

Som standard returnerar detta endast användarskapade objekt. Du kan alternativt tillhandahålla ett mönster eller S modifierare för att inkludera systemobjekt.

Här är ett exempel på att tillhandahålla ett mönster:

\df *key*

Det exemplet begränsar resultaten till bara de funktionerna/procedurerna med texten key i deras namn.

Observera att detta kommando också returnerar lagrade procedurer. Rutintypen (t.ex. func , proc ) listas i en type kolumn i utgången.


  1. Hur man bestämmer den automatiskt genererade primärnyckeln som används som främmande nyckel för en annan tabell

  2. hur man använder Blob datatype i Postgres

  3. Förstå index i MySQL:Del ett

  4. Hur man tar bort en primärnyckel i SQL