[英]How to list out the user defined functions and procedures in PostgreSQL
試圖找出 PostgreSQL 上的存儲函數和過程。 我找到了一些使用“join”的解決方案。 我正在尋找最佳解決方案/命令。
如果有命令我真的不知道。 例如,我還使用 pg_catalog.pg_proc 和 pg_catalog.pg_namespace 之間的連接解決方案來列出一個模式中的所有函數。
您可以使用連接來獲得所需的內容。 例如,此查詢將為您提供更改架構上所有功能的所有者的命令:
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';
這個應該列出你所有的用戶定義函數:
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%'
希望有幫助。
您可以使用 meta 命令獲取函數
\df
您可以使用列出所有功能
show functions
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.