2016-05-12 13 views

Antwort

3

Wenn es einen Befehl gibt, weiß ich wirklich nicht. Ich verwende auch die Join-Lösung zwischen pg_catalog.pg_proc und pg_catalog.pg_namespace, um beispielsweise alle Funktionen in einem Schema aufzulisten.

Sie können mit dem Join spielen, um zu bekommen, was Sie brauchen. Diese Abfrage zum Beispiel die Befehle liefert den Besitzer für alle Funktionen auf einem Schema zu ändern:

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'; 

Und diese sollten Sie alle Ihre benutzerdefinierten Funktionen auflisten:

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%' 

Hoffnung, dass hilft.

+0

es funktioniert thnx viel – Bisu

+0

bitte akzeptieren sie die antwort :), vielen dank – lsilva