PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

3 sposoby na wyświetlenie listy wszystkich procedur składowanych w bazie danych PostgreSQL

Oto trzy opcje wyszczególnienia wszystkich procedur składowanych w bazie danych Postgres.

information_schema.routines Zobacz

Widok ten zawiera wszystkie funkcje i procedury w bieżącej bazie danych, do których aktualny użytkownik ma dostęp (poprzez bycie właścicielem lub posiadanie uprawnień).

Oto przykład zwracania listy procedur składowanych:

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

W razie potrzeby możesz dodać więcej kolumn. Możesz uzyskać definicję procedury za pomocą routine_definition kolumna.

pg_proc Katalog

pg_catalog.pg_proc katalog przechowuje informacje o funkcjach, procedurach, funkcjach agregujących i funkcjach okien.

Możemy dołączyć do tego za pomocą pg_catalog.pg_namespace katalog, aby filtrować wyniki tylko do procedur z public przestrzeń nazw:

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

Przefiltrowaliśmy do prokind z p aby ograniczyć wyniki do procedur składowanych.

Możliwe wartości to f dla normalnej funkcji, p dla procedury, a dla funkcji agregującej lub w dla funkcji okna.

Możesz dodać p.prosrc kolumna, aby uzyskać definicję procedury. Możesz też przekazać p.oid kolumna do pg_get_functiondef() funkcjonować. Ta funkcja wygeneruje CREATE OR REPLACE PROCEDURE instrukcja dla procedury składowanej.

\df Polecenie

Używając psql, możemy użyć \df polecenie:

\df

Domyślnie zwraca to tylko obiekty utworzone przez użytkownika. Możesz alternatywnie podać wzorzec lub S modyfikator, aby uwzględnić obiekty systemowe.

Oto przykład podania wzorca:

\df *album*

Ten przykład zawęża wyniki tylko do tych funkcji/procedur z tekstem album w ich imieniu.

Zauważ, że to polecenie zwraca również funkcje. Typ procedury (np. func , proc ) jest wymieniony w type kolumna w wyniku.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wdrażanie i zarządzanie PostgreSQL 11:Nowość w ClusterControl 1.7.1

  2. Najlepszy sposób na sprawdzenie pustej lub zerowej wartości

  3. Jak wdrożyć system LMS kanwy o wysokiej dostępności za pomocą klastra bazy danych PostgreSQL

  4. różnica między localhost i postgres dla hosta w docker

  5. Jaka jest maksymalna liczba dozwolonych parametrów na typ dostawcy bazy danych?