Как распечатать исходные коды функций и триггеров в postgresql? пожалуйста, дайте мне знать, если кто-нибудь знает запрос для отображения функции, запускает исходный код.
postgresql
Ганеша
источник
источник
select * from pg_trigger;
или, если вы также хотите увидеть, к какой таблице каждый триггер относится кselect tgrelid::regclass, tgname from pg_trigger;
FWIW `Ответы:
\df+
в PSQL дает вам исходный код.источник
\df
чтобы найти имя вашей функции, затем\x
для расширенного вывода, затем\df+ name_of_function
\df ltxtquery
.\x ON
является обязательнымДля функции:
вы можете запросить представление pg_proc, как показано ниже
Другой способ состоит в том, чтобы просто выполнить commont
\df
и\ef
который может перечислить функции.Он покажет исходный код функции.
Для триггеров:
Я не знаю, есть ли прямой способ получить исходный код. Просто знайте следующий способ, может быть, он вам поможет!
Он покажет вам детали триггера таблицы. Обычно триггер использует функцию. Таким образом, вы можете получить исходный код функции триггера, как указано выше!
источник
Вот несколько примеров из PostgreSQL-9.5
Список отображения:
\df+
\dy+
Определение дисплея:
источник
\x
first для включения расширенного отображения также помогает с удобочитаемостью.Есть много возможностей. Самый простой способ - просто использовать pgAdmin и получить это из окна SQL. Однако, если вы хотите получить это программно, то изучите
pg_proc
иpg_trigger
системные каталоги илиroutines
иtriggers
представления из информационной схемы (это стандартный способ SQL, но он может не охватывать все функции, особенно специфичные для PostgreSQL). Например:источник
SELECT view_definition FROM information_schema.views WHERE table_schema = ? AND table_name = ?
pgproc.prosrc
колонкуЧуть больше, чем просто отображение функции, как насчет получения возможности редактирования на месте.
\ef <function_name>
очень удобно Откроется исходный код функции в редактируемом формате. Вы сможете не только просматривать его, но и редактировать и исполнять.Просто
\ef
без function_name откроется редактируемый шаблон CREATE FUNCTION.Для дальнейшего ознакомления -> https://www.postgresql.org/docs/9.6/static/app-psql.html
источник
\sf
имя_функции в psql возвращает редактируемый исходный код одной функции.С https://www.postgresql.org/docs/9.6/static/app-psql.html :
источник
в дополнение к ответу @ franc вы можете использовать это из интерфейса sql:
(взято здесь: http://www.postgresql.org/message-id/Pine.BSF.4.10.10009140858080.28013-100000@megazone23.bigpanda.com )
источник
Начиная с версии: psql (9.6.17, сервер 11.6)
Я попробовал все выше ответ, но для меня
ДФ, кажется, не работает для меня.
источник