Como imprimir funções e acionar código fonte no postgresql? informe-me se alguém souber a consulta para exibir a função, aciona o código-fonte.
postgresql
ganesh
fonte
fonte
select * from pg_trigger;
ou, se você também deseja ver qual tabela cada gatilho se aplica aoselect tgrelid::regclass, tgname from pg_trigger;
FWIW `Respostas:
\df+
no psql fornece o código fonte.fonte
\df
para encontrar o nome da sua função, em seguida,\x
para a saída expandido, em seguida,\df+ name_of_function
\df ltxtquery
.\x ON
é uma obrigação para a exibição transpostaPara função:
você pode consultar a visualização pg_proc, da seguinte maneira
Outra maneira é simplesmente executar o commont
\df
e\ef
listar as funções.Ele mostrará o código fonte da função.
Para gatilhos:
Não sei se existe uma maneira direta de obter o código fonte. Basta saber da seguinte maneira, pode ser que ele irá ajudá-lo!
Ele mostrará os detalhes do gatilho da tabela. Normalmente, um gatilho usa uma função. Assim, você pode obter o código fonte da função de trigger, exatamente como o indicado acima!
fonte
Aqui estão alguns exemplos do PostgreSQL-9.5
Exibir lista:
\df+
\dy+
Definição de exibição:
fonte
\x
primeiro para ativar a exibição expandida também ajuda na legibilidade.Existem muitas possibilidades. A maneira mais simples é usar o pgAdmin e obtê-lo na janela SQL. No entanto, se você deseja obter isso programaticamente, em seguida, examinate
pg_proc
epg_trigger
catálogos do sistema ouroutines
etriggers
vistas de esquema de informações (que do SQL forma padrão, mas pode não cobrir todas as características específicas PostgreSQL, especialmente). Por exemplo:fonte
SELECT view_definition FROM information_schema.views WHERE table_schema = ? AND table_name = ?
pgproc.prosrc
columnUm pouco mais do que apenas exibir a função, que tal obter as instalações de edição no local também.
\ef <function_name>
é muito útil. Ele abrirá o código fonte da função em formato editável. Você não apenas poderá visualizá-lo, mas também poderá editá-lo e executá-lo.Apenas
\ef
sem function_name, será aberto o modelo editável de CREATE FUNCTION.Para referência adicional -> https://www.postgresql.org/docs/9.6/static/app-psql.html
fonte
\sf
nome_da_função no psql gera código fonte editável de uma única função.Em https://www.postgresql.org/docs/9.6/static/app-psql.html :
fonte
Além da resposta do @ franc, você pode usá-lo na interface sql:
(extraído daqui: http://www.postgresql.org/message-id/Pine.BSF.4.10.10009140858080.28013-100000@megazone23.bigpanda.com )
fonte
Desde a versão: psql (9.6.17, servidor 11.6)
Eu tentei todas as respostas acima, mas para mim
df parece não estar funcionando para mim.
fonte