¿Cómo imprimir funciones y dispara código fuente en postgresql? avíseme si alguien conoce la consulta para mostrar la función, activa el código fuente.
postgresql
ganesh
fuente
fuente
select * from pg_trigger;
o, si también desea ver qué tabla aplica cada desencadenante aselect tgrelid::regclass, tgname from pg_trigger;
FWIW `Respuestas:
\df+
en psql te da el código fuente.fuente
\df
para encontrar el nombre de su función, luego\x
para una salida ampliada, luego\df+ name_of_function
\df ltxtquery
.\x ON
es imprescindible para la visualización transpuestaPara la función:
puede consultar la vista pg_proc, tal como se muestra a continuación
Otra forma es que simplemente ejecute el commont
\df
y\ef
que pueda enumerar las funciones.Mostrará el código fuente de la función.
Para desencadenantes:
No sé si hay una forma directa de obtener el código fuente. Solo conozca la siguiente manera, ¡puede ser que lo ayude!
Le mostrará los detalles del disparador de la tabla. Por lo general, un disparador usa una función. ¡Para que pueda obtener el código fuente de la función de activación tal como se indicó anteriormente!
fuente
Aquí hay algunos ejemplos de PostgreSQL-9.5
Mostrar lista:
\df+
\dy+
Definición de pantalla:
fuente
\x
primero para encender la pantalla expandida también ayuda con la legibilidad.Hay muchas posibilidades La forma más simple es usar pgAdmin y obtener esto de la ventana SQL. Sin embargo, si usted desea conseguir esto mediante programación a continuación examinate
pg_proc
ypg_trigger
catálogos del sistema oroutines
ytriggers
vistas de esquema de información (que de forma estándar SQL, pero podría no cubrir todas las características especialmente PostgreSQL-específico). Por ejemplo:fuente
SELECT view_definition FROM information_schema.views WHERE table_schema = ? AND table_name = ?
pgproc.prosrc
columnaAlgo más que solo mostrar la función, ¿qué hay de obtener también la función de edición en el lugar?
\ef <function_name>
Es muy útil. Se abrirá el código fuente de la función en formato editable. No solo podrá verlo, también puede editarlo y ejecutarlo.Solo
\ef
sin function_name se abrirá la plantilla editable CREATE FUNCTION.Para mayor referencia -> https://www.postgresql.org/docs/9.6/static/app-psql.html
fuente
\sf
function_name en psql produce el código fuente editable de una sola función.Desde https://www.postgresql.org/docs/9.6/static/app-psql.html :
fuente
Además de la respuesta de @Franc, puede usar esto desde la interfaz SQL:
(tomado de aquí: http://www.postgresql.org/message-id/Pine.BSF.4.10.10009140858080.28013-100000@megazone23.bigpanda.com )
fuente
Desde la versión: psql (9.6.17, servidor 11.6)
He intentado todas las respuestas anteriores, pero para mí
DF parece que no funciona para mí.
fuente