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

3 начина за изброяване на всички функции в PostgreSQL

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

information_schema.routines Преглед

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

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

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

В този пример функционира само с public схемата се връщат. Чувствайте се свободни да включите още колони, ако е необходимо.

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

Филтрирахме до prokind на f за да ограничите резултатите само до нормални функции.

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

\df Команда

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

\df

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

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

\df *key*

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

Имайте предвид, че тази команда връща и съхранени процедури. Типът на рутинната програма (напр. 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. Изберете произволен ред за всяка група

  2. Най-добрите DBaaS решения за PostgreSQL

  3. Как да направите избор с масив съдържа клауза за стойност в psql

  4. PostgreSQL – Как да елиминирате повтарящи се стойности

  5. Мога ли да използвам върната стойност на INSERT...RETURNING в друг INSERT?