From: | Benjie Gillam <benjie(at)jemjie(dot)com> |
---|---|
To: | Vik Fearing <vik(dot)fearing(at)2ndquadrant(dot)com> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Detecting functions installed by an extension |
Date: | 2018-06-17 09:09:40 |
Message-ID: | CAMThMzEAMutPJYbpEoYPRv9siSBGJE_zGpCvKbmNV+nqs7AbQw@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 17 June 2018 at 10:26, Vik Fearing <vik(dot)fearing(at)2ndquadrant(dot)com> wrote:
> On 17/06/18 10:05, Benjie Gillam wrote:
> > Greetings!
> >
> > How can I tell, using the system catalog or information schema, if a
> > function/procedure was created by an extension as opposed to by the user
> > (i.e. would be dropped if you performed "DROP EXTENSION")? So far I've
> > looked at the `pg_extension` table, which lists the class IDs of
> > configuration tables but doesn't mention procedures. I've looked at
> > `pg_proc` but that doesn't seem to contain the information. I've also
> > scanned over various other system catalogues but with no luck. Is this
> > information available in one of the system catalogs? Does PostgreSQL
> > itself track this information so that it can perform cleanup, or does it
> > expect the extension to clean up after itself?
>
> All dependencies are tracked in the system catalog pg_depend.
>
> If you do \set ECHO_HIDDEN on in psql and then \dx+ an_extension you
> can see what queries psql uses to get the information. That should put
> you well on your way to doing what you want.
> --
> Vik Fearing +33 6 46 75 15 36
> http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
>
It seems so obvious in retrospect! This works beautifully - thanks 🙏
Benjie.
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Gierth | 2018-06-17 10:39:30 | Re: Slow planning time for simple query |
Previous Message | Vik Fearing | 2018-06-17 08:26:23 | Re: Detecting functions installed by an extension |