Jak wydrukować funkcje i wyzwalacze kod źródłowy w postgresql? daj mi znać, jeśli ktoś zna zapytanie o wyświetlenie funkcji, wyzwala kod źródłowy.
postgresql
ganesh
źródło
źródło
select * from pg_trigger;
lub, jeśli chcesz również zobaczyć, która tabela dotyczy każdego wyzwalacza dlaselect tgrelid::regclass, tgname from pg_trigger;
FWIW `Odpowiedzi:
\df+
w psql podaje kod źródłowy.źródło
\df
do znalezienia nazwy funkcji, a następnie\x
do rozszerzonego wyjścia, a następnie\df+ name_of_function
\df ltxtquery
.\x ON
jest koniecznością do wyświetlania transponowanegoDo funkcji:
możesz zapytać o widok pg_proc, tak jak poniżej
Innym sposobem jest to, że po prostu wykonaj polecenie commont
\df
i\ef
które może wyświetlić listę funkcji.Pokaże kod źródłowy funkcji.
Wyzwalacze:
Nie wiem, czy istnieje bezpośredni sposób na uzyskanie kodu źródłowego. Po prostu poznaj następujący sposób, może to ci pomoże!
Pokaże ci szczegóły wyzwalacza tabeli. Zwykle wyzwalacz używa funkcji. Możesz więc pobrać kod źródłowy funkcji wyzwalacza, tak jak powyżej, na które wskazałem!
źródło
Oto kilka przykładów z PostgreSQL-9.5
Lista wyświetlania:
\df+
\dy+
Definicja wyświetlania:
źródło
\x
pierwszego do włączenia rozszerzonego wyświetlacza również pomaga w zwiększeniu czytelności.Możliwości jest wiele. Najprostszym sposobem jest użycie pgAdmin i pobranie tego z okna SQL. Jednak jeśli chcesz dostać to programowo następnie examinate
pg_proc
ipg_trigger
katalogów systemowych lubroutines
itriggers
widoki ze schematu informacyjnego (to SQL standardowy sposób, ale to nie może obejmować wszystkie funkcje szczególnie PostgreSQL specyficzne). Na przykład:źródło
SELECT view_definition FROM information_schema.views WHERE table_schema = ? AND table_name = ?
pgproc.prosrc
kolumnaNieco więcej niż tylko wyświetlanie funkcji, co powiesz także na uzyskanie narzędzia edycji lokalnej.
\ef <function_name>
jest bardzo poręczny. Otworzy kod źródłowy funkcji w edytowalnym formacie. Będziesz nie tylko mógł go przeglądać, ale także edytować i wykonywać.Właśnie
\ef
bez nazwa_funkcji otworzy edytowalny szablon STWÓRZ FUNKCJĘ.Więcej informacji -> https://www.postgresql.org/docs/9.6/static/app-psql.html
źródło
\sf
nazwa_funkcji w psql daje edytowalny kod źródłowy pojedynczej funkcji.Z https://www.postgresql.org/docs/9.6/static/app-psql.html :
źródło
dodatkowo do odpowiedzi @ franc możesz użyć tego z interfejsu sql:
(pobrane stąd: http://www.postgresql.org/message-id/Pine.BSF.4.10.10009140858080.28013-100000@megazone23.bigpanda.com )
źródło
Od wersji: psql (9.6.17, serwer 11.6)
Próbowałem wszystkich powyższych odpowiedzi, ale dla mnie
df wydaje się nie działać dla mnie.
źródło