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

3 начина за изброяване на всички съхранени процедури в PostgreSQL база данни

Ето три опции за изброяване на всички съхранени процедури в база данни на Postgres.

information_schema.routines Преглед

Този изглед съдържа всички функции и процедури в текущата база данни, до които текущият потребител има достъп (като е собственик или има някакви привилегии).

Ето пример за връщане на списък със съхранени процедури:

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

Чувствайте се свободни да включите още колони, ако е необходимо. Можете да получите дефиницията на процедурата с routine_definition колона.

pg_proc Каталог

pg_catalog.pg_proc каталог съхранява информация за функции, процедури, агрегатни функции и функции на прозореца.

Можем да се присъединим към това с pg_catalog.pg_namespace каталог за филтриране на резултатите само до процедури с public пространство от имена:

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

Филтрирахме до prokind от p за ограничаване на резултатите до съхранените процедури.

Възможните стойности са f за нормална функция, p за процедура, a за агрегатна функция или w за функция на прозореца.

Можете да добавите p.prosrc колона, за да получите дефиницията на процедурата. Или можете да предадете p.oid колона към pg_get_functiondef() функция. Тази функция ще създаде CREATE OR REPLACE PROCEDURE изявление за съхранената процедура.

\df Команда

Когато използваме psql, можем да използваме \df команда:

\df

По подразбиране това връща само създадени от потребителя обекти. Като алтернатива можете да предоставите шаблон или S модификатор за включване на системни обекти.

Ето пример за предоставяне на шаблон:

\df *album*

Този пример стеснява резултатите само до тези функции/процедури с текст album на тяхно име.

Имайте предвид, че тази команда също връща функции. Типът на рутинната програма (напр. func , proc ) е посочен в type колона в изхода.


  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 вмъкване да работи

  2. Как make_date() работи в PostgreSQL

  3. Функция LPAD() в PostgreSQL

  4. как да изчислим салда в счетоводен софтуер с помощта на функцията прозорец postgres

  5. Как да приложим приоритети в SQL (postgres)