2011/1/5 flying eagle <eaglein...@gmail.com> > I want to get all the dependencies of a table, I know how to get the index > list using sql, but I don't know how to get the list of objects who using a > function, for example: > > CREATE OR REPLACE FUNCTION reverse_last_64(TEXT) RETURNS TEXT AS $$ > SELECT > array_to_string( > ARRAY > ( SELECT substring($1, s.i,1) FROM generate_series(length($1), > greatest(length($1) - 64 + 1, 1), -1) AS s(i) ), > ''); > $$ LANGUAGE SQL IMMUTABLE" > > CREATE TABLE Test2(id BIGSERIAL PRIMARY KEY, name varchar(100)) > CREATE INDEX idx_test2_name ON test2(reverse_last_64(name) > varchar_pattern_ops) > > drop function reverse_last_64(TEXT) ; > > will show > ERROR: cannot drop function reverse_last_64(text) because other objects > depend on it > DETAIL: index idx_test2_name depends on function reverse_last_64(text) > HINT: Use DROP ... CASCADE to drop the dependent objects too. > > what I want to get is the list of index(or maybe other function) which > using the function using sql. > >
I hope this will help you: select * from pg_depend where refobjid = (select oid from pg_proc where proname='reverse_last_64'); http://www.postgresql.org/docs/9.0/interactive/catalog-pg-depend.html greets, Filip