Saltar al contenido

Cómo enumerar las funciones y procedimientos definidos por el usuario en PostgreSQL

Solución:

Si hay un comando, realmente no lo sé. También utilizo la solución de unión entre pg_catalog.pg_proc y pg_catalog.pg_namespace, por ejemplo, para enumerar todas las funciones en un esquema.

Puede jugar con la combinación para obtener lo que necesita. Esta consulta, por ejemplo, le proporcionará los comandos para cambiar el propietario de todas las funciones en un esquema:

SELECT 'ALTER FUNCTION '
            || quote_ident(n.nspname) || '.' 
            || quote_ident(p.proname) || '(' 
            || pg_catalog.pg_get_function_identity_arguments(p.oid)
            || ') OWNER TO owner_usr;' AS command
FROM   pg_catalog.pg_proc p
JOIN   pg_catalog.pg_namespace n ON n.oid = p.pronamespace 
WHERE  n.nspname="your_schema";

Y este debería enumerar todas sus funciones definidas por el usuario:

SELECT   quote_ident(n.nspname) as schema , quote_ident(p.proname) as function 
FROM   pg_catalog.pg_proc p
JOIN   pg_catalog.pg_namespace n ON n.oid = p.pronamespace 
WHERE  n.nspname not like 'pg%'

Espero que ayude.

Puede obtener funciones usando metacomando

df
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *