PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да получите списъка с функции в базата данни в PostgreSQL заедно с нейните параметри?

Има удобна функция, която да ви помогне: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);

показва всички функции с аргументи. Можете да адаптирате този format заклинание, за да генерирате всякакви желани изрази и, ако желаете, LOOP над него, за да подадете генерирания израз в EXECUTE в PL/PgSQL.

Кредит към Leo Hsu и Regina Obe в Postgres Онлайн за посочване на oidvectortypes . Писах подобни функции и преди, но използвах сложни вложени изрази, от които тази функция се отървава.

Обърнете внимание, че в този случай изобщо не трябва да правите персонализирано генериране на SQL , обаче. Просто използвайте GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA myschema TO ... ако използвате неясно скорошен PostgreSQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL има ли псевдо-колона като LEVEL в Oracle?

  2. Заявките в pg_stat_activity са съкратени?

  3. Защо NULL не може да се преобразува в null на JSON в postgreSQL?

  4. Node.js, грешка в PostgreSQL:няма запис в pg_hba.conf за хост

  5. Как да инсталирате PostgreSQL 9.1 на OSX Lion