sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan får man listen over funktioner i databasen i PostgreSQL sammen med dens parametre?

Der er en praktisk funktion til at hjælpe dig:oidvectortypes .

SELECT format('%I.%I(%s)', ns.nspname, p.proname, oidvectortypes(p.proargtypes)) 
FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid);

viser alle funktioner med argumenter. Du kan tilpasse det format besværgelse for at generere eventuelle ønskede udsagn, og hvis du vil, LOOP over det for at føre den genererede sætning ind i EXECUTE i PL/PgSQL.

Kredit til Leo Hsu og Regina Obe hos Postgres Online for at påpege oidvectortypes . Jeg skrev lignende funktioner før, men brugte komplekse indlejrede udtryk, som denne funktion fjerner behovet for.

Bemærk, at i dette tilfælde behøver du slet ikke at lave nogen tilpasset SQL-generering , selvom. Bare brug GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA myschema TO ... hvis du er på en vagt ny PostgreSQL.



  1. Læs e-mail imap php

  2. Mysql stop ord og match

  3. Oracle 12c:Hvordan kan jeg ændre en eksisterende primær nøglekolonne til en identitetskolonne?

  4. hente dato fra tidsstempel i PostgreSQL