Versuchen, die gespeicherten Funktionen und Prozeduren in Postgre SQL zu finden. Ich habe einige der Lösungen gefunden, bei denen "Join" verwendet wurde. Ich suche nach einer optimalen Lösung/Befehl dazu.Wie listet man die benutzerdefinierten Funktionen und Prozeduren in Postgre auf SQL
2
A
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.
es funktioniert thnx viel – Bisu
bitte akzeptieren sie die antwort :), vielen dank – lsilva