Re: Grep'ing for a string in all functions in a schema?
От | Wells Oliver |
---|---|
Тема | Re: Grep'ing for a string in all functions in a schema? |
Дата | |
Msg-id | CAOC+FBUJUpXn1Mu6Q6gb-FwSBs1_Q=Uu+pcWWqa77XUfmzkL0g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Grep'ing for a string in all functions in a schema? (bricklen <bricklen@gmail.com>) |
Список | pgsql-general |
This is the most helpful thing I've seen in months. Bravo.
On Thu, Jan 30, 2014 at 12:52 PM, bricklen <bricklen@gmail.com> wrote:
On Thu, Jan 30, 2014 at 12:45 PM, Wells Oliver <wellsoliver@gmail.com> wrote:Since Postgres does not consider a table as a dependency of a function if that table is referenced in the function (probably a good reason), I often find myself in a position of asking "is this table/sequence/index referenced in any of these N number of functions?"Is there an easy way of essentially grep'ing all of the functions in a given schema for a string?A method I've used in the past is to create a view of function source which can then be searched.Eg.
CREATE OR REPLACE VIEW function_def as
SELECT n.nspname AS schema_name,
p.proname AS function_name,
pg_get_function_arguments(p.oid) AS args,
pg_get_functiondef(p.oid) AS func_def
FROM (SELECT oid, * FROM pg_proc p WHERE NOT p.proisagg) p
JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE n.nspname !~~ 'pg_%'
AND n.nspname <> 'information_schema';select * from function_def where func_def ilike '%foo%';
Wells Oliver
wellsoliver@gmail.com
В списке pgsql-general по дате отправления: