簡體   English   中英

如何在 PostgreSQL 中列出用戶定義的函數和過程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM