我希望能够连接到PostgreSQL数据库,并找到特定模式的所有函数.
我的 idea 是,我可以查询pg_目录或信息_模式,并获得所有函数的列表,但我不知道名称和参数存储在哪里.我正在寻找一个查询,它会给我函数名和参数类型(以及它们的顺序).
有办法做到这一点吗?
我希望能够连接到PostgreSQL数据库,并找到特定模式的所有函数.
我的 idea 是,我可以查询pg_目录或信息_模式,并获得所有函数的列表,但我不知道名称和参数存储在哪里.我正在寻找一个查询,它会给我函数名和参数类型(以及它们的顺序).
有办法做到这一点吗?
经过一番搜索,我找到了100张桌子和101张桌子.使用这些,可以为此目的构造一个查询.要检索不带参数的函数,必须使用左联接,而不是联接.
SELECT routines.routine_name, parameters.data_type, parameters.ordinal_position
FROM information_schema.routines
LEFT JOIN information_schema.parameters ON routines.specific_name=parameters.specific_name
WHERE routines.specific_schema='my_specified_schema_name'
ORDER BY routines.routine_name, parameters.ordinal_position;