pgAdmin4 我怎样才能看到这个函数在哪里使用

问题描述 投票:0回答:1

我使用 pgAdmin4 作为 PostgreSQL 数据库。 有一个数据库,里面有大量的过程和函数。我想更改其中一个功能,如何查看该功能的用途?

postgresql pgadmin-4
1个回答
0
投票

你无法使用 pgAdmin4 找到该信息,并且你根本无法在 PostgreSQL 中找到它。

首先,可以从客户端代码调用该过程,并且该过程不在数据库内部。

但是要确定数据库内其他函数和过程的过程调用也不容易。函数和过程体存储为字符串,PostgreSQL 无法跟踪依赖关系。你可以尝试这样的查询

SELECT oid::regprocedure
FROM pg_proc
WHERE prosrc ~* 'call\s+myproc`;

但这也会匹配

CALL myproc_not_really(42);
并且会错过
EXECUTE format('CALL %s(42)', 'myproc()'::regprocedure);

© www.soinside.com 2019 - 2024. All rights reserved.